<< Back to previous view

[FLAMINGO-81] SvgBatikIcon allocates thread pool but never shuts it down Created: 03/Aug/10  Updated: 03/Aug/10

Status: Open
Project: flamingo
Component/s: common components
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Bug Priority: Blocker
Reporter: flynnk Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 81
Tags:
Participants: flynnk and kirillcool

 Description   

SvgBatikIcon allocates a static thread pool:

private static ExecutorService loadService = Executors.newFixedThreadPool(5);

but never calls shutdown() on this. This means that if you ever create an SVG
icon, you hang the shut down sequence (forcing a System.exit(0) call) since the
VM won't shut down when the event thread shuts down after the last window is
disposed.

Workaround is to not use SVG icons...






[FLAMINGO-59] Allow JRibbonFrames to be garbage collected after disposal Created: 23/Nov/09  Updated: 25/Nov/09

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Improvement Priority: Critical
Reporter: flynnk Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 59
Tags:
Participants: flynnk and kirillcool

 Description   

JRibbonFrame registers several listeners with the AWT Toolkit that are not
removed when the window is disposed(). The culprits are the AWTEventListener
and KeyTipManager.KeyTipListener registered in initRibbonFrame().

If we open up a JRibbonFrame and then close it, all resources associated with
that frame are held onto as it cannot be garbage collected due to these
listeners. This makes a pattern where we construct and show JRibbonFrames on
demand, and then destroy them when they are closed difficult due to the
resulting memory leak.

Since JRibbonFrame is the only supported way of accessing the Ribbon, it is very
hard to work around this. For the AWTEventListener you can work out which
listener the constructor added in a subclass and hold on to a reference to it to
remove it when the frame is closed, but for the key tip listener, there is no
way to view the current listener list and grab the last entry. We could
probably work around this if the KeyTipManager had a public method to return all
listeners--if the larger issue is more difficult to fix in the short term, the
addition of a getKeyTipListeners() method would likely enable a workaround.

These references were from tracing down what was referencing the JRibbonFrame in
the NetBeans heap walker.



 Comments   
Comment by kirillcool [ 25/Nov/09 09:56 AM ]

Moving to version 5.0





[FLAMINGO-18] Bad comportments with dual screen Created: 17/Sep/08  Updated: 17/Sep/08

Status: Open
Project: flamingo
Component/s: base
Affects Version/s: 4.0
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: gervaisb Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: PC


File Attachments: Zip Archive Screenshots.zip    
Issuezilla Id: 18
Tags:
Participants: gervaisb and kirillcool

 Description   

Hi,

I have jus tried the lastest release of Flamingo from Pushing Pixels
testRibbon.jnlp (September 15, 2008).
I have a dual screen configuration and when the application start i can't move
it to the second screen. After changing the look and feel ro "Windows" I can
move the frame to the second screen but when I try to expand it, she don't pick
the correct size (more width and not enough height).

I'm using the jdk_1.6.0_10. I you want I have two screenshots to explain the
problem. You can contact me at gervais.b@gmail.com

Thanks



 Comments   
Comment by kirillcool [ 17/Sep/08 12:22 AM ]

Currently there is no built-in support for multi-monitor setup in Ribbon
component. How does Office 2007 behave in your setup? Can you maximize it to
both screens? What happens when two screens have different pixel dimensions?

Marking this as ENHANCEMENT for the next release with first step to understand
the required behavior of a frame with ribbon under multi-monitor environment.

Comment by gervaisb [ 17/Sep/08 12:25 AM ]

Created an attachment (id=6)
Screen1: When the app start. Screen2: Whne i have changed the l&f to Windows to move the frame and tried to expand it.

Comment by kirillcool [ 17/Sep/08 05:43 PM ]

Moving to version 4.0. Note that the official ribbon specification doesn't say
anything about the behavior under multiple monitor setup. I'll try playing with
Office 2007 on such a setup when i find time.





[FLAMINGO-31] NPE under substance with app menu (JNLP) Created: 15/Dec/08  Updated: 16/Dec/08

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 4.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: mattnathan Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 31
Tags:
Participants: kirillcool and mattnathan

 Description   

The following exception is thrown under the following conditions:
Java Web Start 1.6.0_11
Using JRE version 1.6.0_11 Java HotSpot(TM) Server VM

1) Configure Java WebStart to always show the Java Console
2) Launch the ribbon JNLP app:
https://substance-flamingo.dev.java.net/webstart/testRibbon.jnlp
3) Click the app menu button
4) Click in the Java Console window

The following exception should be observed; I guess the problem is with the look
and feel of the second java window (the console) not being the same as the look
and feel of the window that is loosing the focus. There are probably other cases
where this can be reproduced in pure application code.

Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at
org.jvnet.substance.utils.SubstanceTitlePane.paintComponent(SubstanceTitlePane.java:1147)
at
org.jvnet.substance.flamingo.ribbon.ui.SubstanceRibbonFrameTitlePane.paintComponent(SubstanceRibbonFrameTitlePane.java:587)
at javax.swing.JComponent.paint(JComponent.java:1027)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:564)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122)
at
javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1472)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1403)
at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:293)
at javax.swing.RepaintManager.paint(RepaintManager.java:1217)
at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:803)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)



 Comments   
Comment by kirillcool [ 16/Dec/08 11:17 PM ]

Will try to reproduce it in the (debuggable) standalone mode.

Thanks
Kirill





[FLAMINGO-32] Exception in ribbon component Created: 15/Dec/08  Updated: 24/Dec/08

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 4.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: mattnathan Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 32
Tags:
Participants: kirillcool and mattnathan

 Description   

While playing with the new 'key tips' functionality from this demo:
https://substance-flamingo.dev.java.net/webstart/testRibbon.jnlp I noticed an
exception in the java console. I was unable to reproduce the issue reliably, it
seemed to be related to window focus and the java console but I can't be sure
about it.

Exception in thread "AWT-EventQueue-1" java.lang.IllegalStateException:
Substance delegate used when Substance is not the current LAF
at
org.jvnet.substance.utils.SubstanceColorSchemeUtilities.getColorScheme(SubstanceColorSchemeUtilities.java:298)
at
org.jvnet.substance.utils.SubstanceColorSchemeUtilities.getColorScheme(SubstanceColorSchemeUtilities.java:268)
at
org.jvnet.substance.utils.SubstanceColorUtilities.getDefaultBackgroundColor(SubstanceColorUtilities.java:817)
at
org.jvnet.substance.utils.SubstanceColorUtilities.getBackgroundFillColor(SubstanceColorUtilities.java:763)
at
org.jvnet.substance.painter.utils.SubstanceFillBackgroundDelegate.update(SubstanceFillBackgroundDelegate.java:148)
at
org.jvnet.substance.SubstancePanelUI._orgjvnetsubstanceSubstancePanelUI_update(SubstancePanelUI.java:89)
at
org.jvnet.substance.SubstancePanelUI._orgjvnetsubstanceSubstancePanelUIcontainer_update(SubstancePanelUI.java)
at org.jvnet.substance.SubstancePanelUI.update(SubstancePanelUI.java)
at javax.swing.JComponent.paintComponent(JComponent.java:763)
at javax.swing.JComponent.paint(JComponent.java:1027)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:564)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122)
at
javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1472)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1403)
at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:293)
at javax.swing.RepaintManager.paint(RepaintManager.java:1217)
at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:803)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)



 Comments   
Comment by mattnathan [ 15/Dec/08 06:45 AM ]

I managed to reproduce the issue:

1) make sure the java console opens for webstart
2) open: https://substance-flamingo.dev.java.net/webstart/testRibbon.jnlp
3) move the windows so that both the console and the ribbon are visible
4) click on the console to give it focus (inside the window works for me)
5) click a drop down in the ribbon (the down arrow for cut works for me)
6) click the console again (again in the java bit)

Note that this is probably related to issue
https://flamingo.dev.java.net/issues/show_bug.cgi?id=31

Comment by kirillcool [ 16/Dec/08 11:18 PM ]

I can see this exception. Will need to add some more tracing code (when this
exception is thrown) to analyze the situation.

Thanks
Kirill

Comment by kirillcool [ 24/Dec/08 03:37 PM ]

I've added some tracing to the ribbon test app and Substance core library, but i
still don't know why this happens. This is a new trace:

Look-and-feel change from null to Metal
Look-and-feel change from Metal to Substance Business Blue Steel
Exception in thread "AWT-EventQueue-1" java.lang.IllegalArgumentException:
Substance delegate used when Substance is not the current LAF [component
JRibbonBand in window NewCheckRibbon:'Ribbon longer title to check contextual
tabs' under Windows]
at
org.jvnet.substance.utils.SubstanceCoreUtilities.traceSubstanceApiUsage(SubstanceCoreUtilities.java:2357)
at
org.jvnet.substance.utils.SubstanceColorSchemeUtilities.getColorScheme(SubstanceColorSchemeUtilities.java:299)
at
org.jvnet.substance.utils.SubstanceColorSchemeUtilities.getColorScheme(SubstanceColorSchemeUtilities.java:269)
at
org.jvnet.substance.flamingo.ribbon.ui.SubstanceRibbonBandUI.paintBandBackground(SubstanceRibbonBandUI.java:210)

As you can see, the UIManager starts under Metal and then gets switched to
Substance Blue Steel. However, at some point when i switch between the Java
console and the test app window, the current LAF is Windows - without it being
reported in the property change listener registered on the UIManager class.

This looks like an issue in the implementation of Java console, and i'll try to
create a standalone application to recreate this outside Flamingo / Substance
combination.

The same as above applies to issue 31 as well.

Thanks
Kirill





[FLAMINGO-36] Support high DPI mode Created: 29/Jan/09  Updated: 30/Jan/09

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 4.1
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: dukke Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


File Attachments: PNG File issue36.png     Java Source File RibbonTest.java    
Issuezilla Id: 36
Tags:
Participants: dukke and kirillcool

 Description   

When having three ribbon components vertically, the third one appears cut out.

(Will attach simple test program next)



 Comments   
Comment by dukke [ 29/Jan/09 04:32 PM ]

Created an attachment (id=12)
test program showing problem

Comment by kirillcool [ 29/Jan/09 08:51 PM ]

Created an attachment (id=14)
How it looks on my machine

Comment by kirillcool [ 29/Jan/09 08:53 PM ]

Attached screenshot of how it looks on my machine - Windows Vista SP1 + Java 6u10.

Note that the core components placed in ribbon bands should have small height -
otherwise they will indeed be cut, because there is only so much vertical space
there.

What is your OS / JVM configuration? Can you attach a screenshot that shows the
cut off pixels?

Thanks
Kirill

Comment by dukke [ 30/Jan/09 04:27 PM ]

Hi,

I remembered that I have my windows vista font PPP to a scale of 120. I thought
that might be the problem so I changed it back to the original size and it worked.

I was curious of how word2007 ribbon reacted to this change in font size, so i
run word2007 in both configurations and it actually makes the ribbon height
bigger to accommodate bigger fonts.

Thanks,
Pedro DV

Comment by kirillcool [ 30/Jan/09 04:37 PM ]

Support for high DPI mode will be postponed for the future releases. It will
have to span all the visuals of the ribbon and related components, and is quite
a big task.

Changing the summary and moving as ENHANCEMENT to version 4.1

Thanks
Kirill

Comment by kirillcool [ 30/Jan/09 04:38 PM ]

Changing the title.

Comment by dukke [ 30/Jan/09 04:52 PM ]

Ok thanks =)





[FLAMINGO-43] Ribbon application menu does not repaint properly if sun.awt.noerasebackground is set to true Created: 26/Apr/09  Updated: 26/Apr/09

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 4.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: flynnk Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


File Attachments: PNG File issue43.png     Java Source File Main.java     JPEG File screenshot.jpg    
Issuezilla Id: 43
Tags:
Participants: flynnk and kirillcool

 Description   

If the sun.awt.noerasebackground attribute is set to true, the ribbon
application menu will not repaint correctly the second time it is displayed.
Comes up okay the first time you click it, but does not appear the second time
it is selected. I'll attach a screenshot shortly showing the problem. The
screenshot shows the problem under Substance Raven, but I've verified the
behavior is the same under Metal.

The workaround is to not set this system property. We were formerly setting it
as legacy from pre-1.6 days where it was very helpful with gray rectangle issue.
Legacy applications upgrading to the ribbon may be setting this attribute, or
for applications that need to run on earlier platforms (i.e. 1.5, since I don't
think Flamingo officially supports before that). Given our paying customers all
have deployments upgraded to Java 6, I'm going to pull the property for our
applications.

As an aside, they need to update the OS choices. Windows Vista 64-bit is not in
the list; JDK 1.6.0_11 was used here as well.



 Comments   
Comment by flynnk [ 26/Apr/09 04:29 PM ]

Created an attachment (id=15)
Ugly screenshot showing the problem

Comment by flynnk [ 26/Apr/09 04:29 PM ]

Created an attachment (id=16)
Sample program to reproduce the problem

Comment by kirillcool [ 26/Apr/09 06:46 PM ]

Created an attachment (id=17)
Screenshot on my machine

Comment by kirillcool [ 26/Apr/09 06:48 PM ]

Attached screenshot of this test app on my machine. Windows Vista, JDK 6u10, no
hardware acceleration (embedded Intel graphics card).

What is your configuration? Can you try to disable the D3D acceleration with
-Dsun.java2d.d3d=false?

Thanks
Kirill

Comment by flynnk [ 26/Apr/09 06:52 PM ]

That's it. Turning off d3d with the argument fixes the problem also. I'm
running on dual NVidia cards, so that's probably part of it. This is probably
going to be a pain to fix if you cannot reproduce it locally.





[FLAMINGO-45] dropdown popups overlapping in minimized ribbon Created: 16/May/09  Updated: 12/Jun/09

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 4.1
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: xvik Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: PC


File Attachments: JPEG File flamingobug.jpg     JPEG File flamingobug2.jpg     JPEG File repaint_bug_sample.jpg     JPEG File repaint_bug_sample2.jpg     JPEG File ribbonbug3.JPG     Text File ribbonbug3.JPG     JPEG File ribbonbug4.jpg    
Issuezilla Id: 45
Tags:
Participants: kirillcool and xvik

 Description   

Hello,

Bug occures with components with dropdown popups (like combobox or office like
style selector).
When ribben is in minimized mode (acts like popup itself), it overlaps dropdown
popup.

How to reproduce:
precondition: ribbon with combobox
1. set ribbon to minimized mode (doubleclick on tab)
2. open ribbon and click on combobox (it should be shown normally)
3. loose focus (so ribbon becomes closed again) and repeat step 2 (dropdown
popup will be below ribbon itself)

tested on windows vista and xp
sun jre 1.6u10
J2D_D3D=false

Regards,



 Comments   
Comment by xvik [ 16/May/09 09:10 AM ]

Created an attachment (id=19)
bug with ribbon minimized mode

Comment by xvik [ 16/May/09 09:10 AM ]

Created an attachment (id=20)
bug with ribbon minimized mode

Comment by kirillcool [ 17/May/09 12:40 PM ]

Can't seem to reproduce on my Vista machine under the latest 4.1RC drop of
Flamingo. Which version of Flamingo are you using?

Thanks
Kirill

Comment by xvik [ 17/May/09 07:54 PM ]

Hello Kirill,

I made screenshots with JNLP version from 4.1RC announce (from pushing-pixels).

I want to note one more time that i'm always switching off new java windows
rendering pipline (J2D_D3D=false)

So i tried to test without disabling it.
First time im also failed to reproduce it, but clicking on popups on differen
ribbon tabs soon gets bug visible (see attach 3)

Regards

Comment by xvik [ 17/May/09 07:55 PM ]

Created an attachment (id=21)
ribbon popup bug

Comment by xvik [ 17/May/09 07:55 PM ]

Created an attachment (id=22)
ribbon popup bug

Comment by kirillcool [ 17/May/09 09:31 PM ]

Yes, i do see it happening under JNLP, but not in my local environment where i
can debug it. Not sure if i can address this before the final 4.1 release since
i don't really know how to debug a WebStart app.

Comment by xvik [ 18/May/09 07:04 AM ]

I have discovered this problem on my own application, so it is not related to
JNLP.
It would be great if you could fix it.. it is very annoying
Thank you for attention!

Comment by kirillcool [ 18/May/09 09:01 AM ]

Do you see this behavior in your local application? If so, i'll need a small
test application that reproduces this outside the WebStart.

Thanks
Kirill

Comment by xvik [ 19/May/09 07:23 AM ]

Hello Kirill,

Yes, i see it in my local application.
I have tried test.ribbon.BasicCheckRibbon test application from flamingo 4.0
release.
It takes some time clicking on different ribbon tabs and different dropdown
controls (about 10 clicks), but bug appears once again (see screenshot 4)

Local java: 1.6.0_13-b03 (win vista)

Regards

Comment by xvik [ 19/May/09 07:25 AM ]

Created an attachment (id=23)
ribbon FLAMINGO-4

Comment by kirillcool [ 19/May/09 09:08 AM ]

Do you see the same behavior under the latest 4.1RC drop?

Thanks
Kirill

Comment by xvik [ 21/May/09 04:36 AM ]

Hello Kirill,

Yes, it still there (tested with 4.1rc (may 17)).
But it takes some time to see it and i can't provide you exact algorithm. (just
clicking different controls on different tabs)

Regards

Comment by kirillcool [ 25/May/09 04:19 PM ]

Sorry, but i still cannot reproduce it. I'm afraid that without the debugging on
your side this will have to be deferred.

The JRibbonFrame has the following lines in the initRibbon() method:

ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);
JPopupMenu.setDefaultLightWeightPopupEnabled(false);

This makes sure that the core popups use heavyweight windows. Not sure about the
popup type used for the minimized ribbon and expanded ribbon galleries. There i
use PopupFactory.getSharedInstance().getPopup() API to get the popup.

If this bug is critical in your environment, you are more than welcome to fire
up a debugger and see what happens with the light / mid / heavy weight states of
these popups. As i have already said, i cannot seem to reproduce this on my machine.

Thanks
Kirill

Comment by xvik [ 31/May/09 01:11 PM ]

Hello Kirill,

I've tried webstart demo of flamingo 4.1 release (from pushing-pixels).
This version is much more stable. I tried hard to reproduce the bug but reach
success only one time (after long loooong clicking time).
So, the bug still there but now it is very (very!) rare.
Also one note about bug behaviour: if it occured once you will see it regulary
later (every secong click).

I will try to integrate new release into my application this week and see bug
occurance there.

I want to help you in debugging this on my side, but i'm not so skilled in
swing internals. I will try to do my best but not shure about result.
Maybe you can advise me some articles or tutorials about swing internals.

Regards,

Comment by kirillcool [ 05/Jun/09 11:10 AM ]

I'm not aware of any tutorials that go to that level (implementation of
lightweight / heavyweight popups).

Thanks
Kirill

Comment by xvik [ 12/Jun/09 12:44 PM ]

Hello Kirill,

I've done migration of my application to substance-* 5.2, flamingo 4.1 (and
also swingx 1.0). Also I've enabled new windows redering pipeline -
Dsun.java2d.d3d=true (the only reason to stay without it was bug in jfreechart
which is fixed now).

As a result, i see this bug again. And even worse: after enebling
sun.java2d.d3d=true the count of grey rect's instead of combobox popups grows a
lot.

But, thankfully you note that popups are heavyweight, so i put this code after
ribbon initialization:
ToolTipManager.sharedInstance().setLightWeightPopupEnabled(true);
JPopupMenu.setDefaultLightWeightPopupEnabled(true);

And this solves both problems!!!
What is the reason to leave popups heavyweight by default? (if i'm right, java
1.6 update 10 fixes lightweight popups bugs)

But there is enother bug in 4.1 release (i haven't seen it before):
when i switching from one popup to enother (in different grops on the same tab)
group highlighting is badly rendered: a kind of "grey rect" problem (see
attachments)

Regards,

Comment by xvik [ 12/Jun/09 12:48 PM ]

Created an attachment (id=25)
Switching from opened combobox on right group to combobox on left group causes not complete highlighting disabling from right group (there is also separator between comboboxes and checkboxes on right group))

Comment by xvik [ 12/Jun/09 12:51 PM ]

Created an attachment (id=26)
Switching back also causing not proper highlight disabling on left group

Comment by kirillcool [ 12/Jun/09 02:05 PM ]

In at least the near future the topic of mixing Flamingo and core Swing popups
will have to be deferred to the community. It does look like the entire custom
popup module in Flamingo needs to be revisited, and i simply don't have enough
resources to do this in the next few months.

Thanks
Kirill





[FLAMINGO-50] Enable CommandButtons to be configured via Actions Created: 08/Jun/09  Updated: 12/Jun/09

Status: Open
Project: flamingo
Component/s: common components
Affects Version/s: 4.1
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: aalmiray Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 50
Tags:
Participants: aalmiray and kirillcool

 Description   

It would be great if CommandButtons be allowed to be configured via an
javax.swing.Action, the tricky part is syncing action properties upon changes,
sadly the Swing team decided that the basic support classes for AbstractButton
and Actions be package protected (sigh).



 Comments   
Comment by aalmiray [ 08/Jun/09 10:46 PM ]

Incorrectly filed as DEFECT, changed to ENHANCEMENT.

Comment by kirillcool [ 09/Jun/09 11:37 PM ]

Just like AbstractButton class has not scaled in the last few years to meet the
needs of modern UIs, the same is true for the Action / AbstractAction.

The set of properties supported by the Action / AbstractAction is either too
small or not adequate for what AbstractCommandButton / JCommandButton components
support:

  • smallIcon / largeIcon are just two states, while command buttons use the
    ResizableIcon interface.
  • enabled / selected cover just two facets for one model. Command buttons have
    two separate models, one for action area and one for popup area, with more
    facets to each one.
  • additional model facets include fire-action-on-press, auto-repeat-action-fire
    and popup-showing. Using string-object map in AbstractAction has very bad API
    smell (see later).
  • simple string tooltip is not enough. Command buttons have rich tooltips - one
    for action area and one for popup area.

There are two more points. In the ribbon, there should only be one UI control
for the specific command, unlike in menubar / toolbar where you can have
multiple places for the same command. Having an action to serve as a source for
multiple controls may not be a requirement for such applications.

In addition, the Action / AbstractAction are just not enough. I'll need to do
one of the following:

  • Use the String->Object map - which is a bad API smell.
  • Extend the AbstractAction and inherit all the junk - perhaps throwing
    unsupported exceptions along the way - bad API smell as well.
  • Reimplement the action class (as CommandAction) - just as i did with the
    AbstractCommandButton which does not extend the AbstractButton.

Unless i see compelling reasons why creating command buttons from actions is
absolutely necessary, this functionality will be left for interested third-party
builder-style libraries.

Thanks
Kirill

Comment by aalmiray [ 12/Jun/09 11:19 AM ]

Understood, Flamingo's guidelines prefer immutability however
AbstractCommandButton is certainly mutable, you can change the following
properties after it has been created [text, icon, toolTipText, actionListener]
(just to name a few) which are pretty much the same properties an Action can
provide.

A CommandAction may choose to ignore getValue(SMALL_ICON) and other properties
that do not make sense, it could provide new properties like ICON and RICH_TOOL_TIP.

Given that ACB is a base class for 3 other classes (JCommandButton,
JCommandMenuButton & JCommandMenuButton) it would be a good idea to add the
action handling code directly to it. Third-party libraries would need to create
3 subclasses & 1 helper class at least (yay for no having mixins/traits in plain
Java, not!).

I trust that this issue will be revised in the future, thank you for your time
and effort!

Andres

Comment by kirillcool [ 12/Jun/09 01:45 PM ]

The immutability is on the ribbon level - not allowing changing the ribbon
structure once it's created. However, the command button is more flexible - like
you point out.

I will keep this enhancement open.

Thanks
Kirill





[FLAMINGO-64] CTRL+ALT opens KeyTip Created: 21/Dec/09  Updated: 21/Dec/09

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 4.1
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: dhennig Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 64
Tags:
Participants: dhennig and kirillcool

 Description   

When you press CTRL and ALT, the
KeyTips are shown when the ALT-key is released.

MS office shows the KeyTips only when ALT alone is pressed
and released. That makes more sense, because CTRL+ALT are
used for shortcuts.






[FLAMINGO-67] LinuxOnly: ComboBox in collapsed ribbon is not showing the popup with items Created: 26/Mar/10  Updated: 29/Mar/10

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: krzych_nowak Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: All


Issuezilla Id: 67
Tags:
Participants: kirillcool and krzych_nowak

 Description   

This happens only on linux, on windows (xp) it's fine.
Steps to reproduce:

  • Collapse ribbon - so that it is hidden
  • Single Click on task to show the ribbon (ribbon is still in 'collapsed' state
  • will hide when mouse click outside ribbon)
  • Single click on combobox arrow to show the combobox popup with items
    Result: ribbon is hidden, and popup is not shown
    Expected behaviour: popup should be shown with all combobox items to choose

Not sure if this is really a bug, depends if ribbon is supported on linux, i
would give lowest priority but not sure if lowest is p1 or p5 :/



 Comments   
Comment by kirillcool [ 29/Mar/10 08:36 AM ]

Does this happen when you run the demo locally, or only under the WebStart
environment?





[FLAMINGO-68] ComboBox popup, contained in collapsed ribbon is incorectly rendered on windows Created: 26/Mar/10  Updated: 29/Mar/10

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: krzych_nowak Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: All


Issuezilla Id: 68
Tags:
Participants: kirillcool and krzych_nowak

 Description   

When displaying the combobox poup on windows, part of the popup is rendered
behind the collapsed ribbon.
Steps to reproduce:

  • Collapse ribbon
  • Click on task to show the ribbon (ribbon is still in 'collapsed' state, and it
    will be hidden when the mouse click outside it)
  • Click on the empty area of near the combobox (so that ribbon has focus)
  • Click on the combobox arrow to display the combobox popup with items
    Result: part of the popup is drawn as if behind 'floating' ribbon

This bug can be reproduced in sample application (from flamingo.dev.java.net)not
tested with the substance, as the web start does not work)



 Comments   
Comment by kirillcool [ 29/Mar/10 08:34 AM ]

Does this happen when you run the demo locally, or only under the WebStart
environment?





[FLAMINGO-78] Labels are too close Created: 23/Jul/10  Updated: 24/Jul/10

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: dukke Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


File Attachments: JPEG File labelsTooCloseRibbonComponent.jpg    
Issuezilla Id: 78
Tags:
Participants: dukke and kirillcool

 Description   

Refer to issue 77 for the test case.

The labels are too close to the RibbonComponent. I'll attach an image
illustrating this.



 Comments   
Comment by dukke [ 23/Jul/10 06:44 AM ]

Created an attachment (id=37)
Image illustrating the issue

Comment by kirillcool [ 23/Jul/10 09:48 AM ]

If this is still reproducible under the latest 5.0RC with fix for issue 77, i
will need to see a small test application.

Comment by dukke [ 24/Jul/10 08:59 AM ]

Just tried latest jars. These issue is also fixed.
THanks.





[FLAMINGO-82] Help button could also have a tooltip Created: 30/Aug/10  Updated: 30/Aug/10

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: hoesterholt Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 82
Tags:
Participants: hoesterholt and kirillcool

 Description   

In MS Word, the help button has a tooltip. Although not a big issue, it would be
great if Flamingo Ribbon could also have a (rich)tooltip for the help button.






[FLAMINGO-83] Add popup menu to JRibbon component Created: 20/Sep/10  Updated: 20/Sep/10

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Improvement Priority: Major
Reporter: hoesterholt Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 83
Tags:
Participants: hoesterholt and kirillcool

 Description   

I can add a popupMenu to a JRibbon using the following code:

JRibbon _toolbar=_ribbonFrame.getRibbon();
final JPopupMenu minimize=new JPopupMenu();
JMenuItem itm=new JMenuItem(_.t("Toggle Ribbon"));
itm.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { _toolbar.setMinimized(!_toolbar.isMinimized()); }
});
minimize.add(itm);

{
for(int n=_toolbar.getComponentCount(),i=0;i<n;i++) {
Component c=_toolbar.getComponent;
if (c instanceof JScrollablePanel) { ((JComponent) c).setComponentPopupMenu(minimize); }
}
}

However, it would be nice if the same were possible to add the popup menu, using
this line of code:

_toolbar.setComponentPopupMenu(minimize)






[FLAMINGO-87] Missing License Created: 12/Jan/11  Updated: 12/Jan/11

Status: Open
Project: flamingo
Component/s: base
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: deleted_user Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 87
Tags:
Participants: deleted_user and kirillcool

 Description   

The following source file has no license attached:
src/org/pushingpixels/flamingo/api/svg/TranscoderListener.java

Please could you add the BSD license header used in the remainder of the source?

Thanks,
Andy






[FLAMINGO-86] Memory "leak" in BasicCommandPopupMenuUI Created: 30/Nov/10  Updated: 30/Nov/10

Status: Open
Project: flamingo
Component/s: common components
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: heigum Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 86
Tags:
Participants: heigum and kirillcool

 Description   

Hi,after some memory analysis on our (Exie's) Swing application I have found what appears to be a memory problem.

The method org.pushingpixels.flamingo.internal.ui.common.popup.BasicCommandPopupMenuUI#uninstallListeners()

line 503
does: PopupPanelManager.defaultManager().addPopupListener(this.popupListener);

instead of: PopupPanelManager.defaultManager().removePopupListener(this.popupListener);

To me this seem to be incorrect, I admit that there might be aspects of the code I don't understand. After recompiling with
this change. The detected memory leak in our system was gone. And no new problems were introduced to the application.

Hope this isn't a duplicate I tried searching for similar problems couldn't find any.

-Jørn






[FLAMINGO-84] Not shown popup at JCommandButton Created: 21/Sep/10  Updated: 21/Sep/10

Status: Open
Project: flamingo
Component/s: common components
Affects Version/s: 5.0
Fix Version/s: milestone 1

Type: Bug Priority: Major
Reporter: eshkel Assignee: kirillcool
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows XP
Platform: All


Issuezilla Id: 84
Tags:
Participants: eshkel and kirillcool

 Description   

The popup can fall in state when it not shown longer.

This situation reproduced with next snippet of code.

/******************************************************************************/
JFrame frame = new JFrame();
frame.setSize(640, 480);
final JCommandButton btn = new JCommandButton("Call", null);
btn.setCommandButtonKind(CommandButtonKind.ACTION_AND_POPUP_MAIN_ACTION);
btn.setDisplayState(CommandButtonDisplayState.MEDIUM);
btn.setPopupCallback(new PopupPanelCallback()
{
public JPopupPanel getPopupPanel(JCommandButton commandButton)

{ JCommandPopupMenu menu = new JCommandPopupMenu(); menu.addMenuButton(new JCommandMenuButton("test1", null)); menu.addMenuButton(new JCommandMenuButton("test2", null)); return menu; }

});

btn.addActionListener( new ActionListener()
{

@Override
public void actionPerformed(ActionEvent e)

{ btn.doPopupClick(); }

});

JPanel content = new JPanel(new FlowLayout());
content.add(btn);
frame.getContentPane().add(content);

frame.setVisible(true);
/******************************************************************************/

1. Press popup button (\/).
2. Press 'Call' button when popup is shown.

After that the popup button (\/) don't show the popup when pressed.

Use case:
If user press 'Call' button but primary phone number is not defined - show other
available phone numbers.






[FLAMINGO-88] Default constructors for swing components Created: 09/Feb/11  Updated: 09/Feb/11

Status: Open
Project: flamingo
Component/s: breadcrumb bar, common components, file viewer, ribbon, www
Affects Version/s: 4.0
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: fabiennisol Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

all


Tags:
Participants: fabiennisol

 Description   

The components should declare a default constructor permitting flamingo components to be used in a modern UI design tool (like netbeans matisse)

Integrating flamingo into a matisse designed application is complicated.






[FLAMINGO-89] TitlePane Created: 11/Feb/12  Updated: 11/Feb/12

Status: Open
Project: flamingo
Component/s: ribbon
Affects Version/s: 5.0
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: anastasmenocal Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Java 6.0, Windows 7 Ultimate


Tags:
Participants: anastasmenocal

 Description   

I can't use the class SubstanceRibbonFrameTitlePane and my application don't set the title of the frame at the center of the title's bar...






Generated at Thu Apr 17 16:46:34 UTC 2014 using JIRA 4.0.2#472.