|
|
|
[
Permlink
| « Hide
]
Joan Lafferty - [06/13/07 12:18 PM ]
This was reported on the Adobe forums. The bug is an injection since Flex 2.0.1 where it works correctly.
Fix logic in PanelSkin to only handle borderStyle="default". All other values are handled by the parent class.
This bug isn't fixed yet. The results of using a borderStyle="solid", borderColor and borderThickness are not the same as it was in 2.0.1. After this fix, the size of the Panel is different and the title area is gone. I have uploaded the new behavior (panelBug_3.swf) and the 2.0.1 behavior (panelBug_201.swf).
Returning to IRB. When borderStyle="solid', we no longer get the header. The reason is that I moved the header and controlBar border metric layout logic out of Panel and into the PanelSkin class.
After some back and forth discussion, Glenn and I have decided that Panel will no longer support any borderStyle besides "default". The reason is that in order to support the other borderStyles, we would have to put in the hacks that were in Panel back in. This would make it more difficult to skin Panel using graphical skins.
Panel will support other borderStyles when using the backwards compatibility flag. In addition, it will be possible to use a combination of explicit heights/widths and absolute positioning to replicate most of the old behavior for alternate borderStyles. PanelSkin's implementation of alternate borderStyles will be mostly working, but won't layout the header and control bar in the correct locations, nor will it size the Panel to be large enough. We need to document these issues. Marking that a technote is needed. I will also add this to our backwards compatibility list.
Release Note: Panel only officially supports the "default" borderStyle. If you use an unsupported borderStyle, use padding values or absolute positioning to place your content in the correct place.
I agree with S Adams. This is clearly not the correct behavior for a Panel.
Doug McCune agrees too: http://dougmccune.com/blog/2008/01/12/calling-bullshit-on-a-resolved-flex-bug We are re-opening this issue for investigation because of all the feedback from customers.
Use a combination of the PanelSkin and HaloBorder to calculate the borderMetrics when borderStyle != "default". Added in code to Panel.layoutChrome to inset the chrome by the borderThickness in a very narrow case to match 2.x behavior.
The Panel borderStyles are officially back. confirmed bug fixed in SDK build 234
After spending 2 full days making my flex 2 application looking half decent when compiled in plain flex 3 (who would want to use that compatibility flag), i feel like I should add my rant to it.
flex team please, get the containers style together, the whole panel skin and border is... a mess, it has a great potential and flexibility with good ideas, that just needs to be streamlined. Panels and border types are the raw material of all flex ui designer. and yet that part is probably the most obscure part of flex. I really believe the panel styling (through borders types or anything) deserve much more than a "hack" to make them half "working" or backward compatible. As a Flex lover, I was really hopping to see them evolve into a strong and flexible styling base for ui designers. FYI - I have a Panel skin with scale9 definitions in the CSS that was working in Flex Beta 3, but is now it's broken in Flex 3 that was released yesterday.
Harry B. Garland,
Can you upload a simple test case with the broken skin and we can take a look. Thanks, Peter I ran into the same skinning issue as Harry. When I inserted a control into the content of a Panel, with control width and height set to 100%, the content used to expand to the iner bounds of the scale-9 grid. With the Flex 3 RTM, the content will resize to the bounds of the parent Panel itself... doh.
Anyhow, Flex 3 is beautiful - kudos on an awesome product. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||