|
|
|
[
Permlink
| « Hide
]
JIRA Migration Admin - [05/12/07 05:14 PM ]
Move from BugDB issue number 202912
Milestone ID = 1593
Milestone = M2_Moxie Build ID = 25200 Build = 165218_flex_M1_Alpha Fix Build ID = null Fix Build = null [rvollmar 4/2/07] Entered Bug. Injection, worked fine in 2.0.1.
[brbaker 4/3/07] Sending to QRB [laupark 4/6/07] QRB opened to gruehle for M2_Moxie Rewrote bug to reflect the actual problem.
The problem that is occurring here is that the Button type selector is defining values for the up/down/over/disabledSkin styles. These take precedence over the skin style defined in the type selectors for ColorPicker and ComboBox. In the past, we didn't have these duel ways of setting skin styles. So the ColorPicker/ComboBox type selectors defined values for the up/down/over/disabledSkin styles. These then took precedence over the ones defined in the Button type selector.
I suggest that we defer this bug for now and just recommend the workaround. I believe the only way we can fix this bug is to deprecate the up/down/over/disabledSkin styles and replace them with another style name. This is how other components like NumericStepper and DateChooser handle the skin styles of their subcomponents. They give them style names like upArrowUpSkin or downArrowOverSkin.
In addition, we'd need to change the names that the ColorPickerSkin and the ComboBoxArrowSkin use for their name property. Deprecating these styles for M2 is probably too risky at this point. Plus, deprecating styles gets a bit nasty in terms of supporting both sets of styles and calculating priority levels. IRB -> OK, we will defer this and make sure it gets into the Release Notes. Rob, if you don't agree, please send this back.
Release Note: When skin styles are set for Button, these take precedence over the default skin styles for ColorPicker and ComboBox. To work around this, you can explicitly set the skins for ComboBox and ColorPicker:
ColorPicker { upSkin: ClassReference("mx.skins.halo.ColorPickerSkin"); overSkin: ClassReference("mx.skins.halo.ColorPickerSkin"); downSkin: ClassReference("mx.skins.halo.ColorPickerSkin"); disabledSkin: ClassReference("mx.skins.halo.ColorPickerSkin"); } ComboBox { upSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); overSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); downSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); disabledSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); } Are there any other components that could also require explicit skinning in order to not receive this error?
I am also receiving this error: ArgumentError: Error #2004: One of the parameters is invalid. at flash.display::Graphics/drawRoundRect() at mx.skins::ProgrammaticSkin/drawRoundRect()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\skins\ProgrammaticSkin.as:745] at mx.skins.halo::ButtonSkin/updateDisplayList()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\skins\halo\ButtonSkin.as:217] at mx.skins::ProgrammaticSkin/validateDisplayList()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\skins\ProgrammaticSkin.as:421] at mx.managers::LayoutManager/validateDisplayList()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:605] at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:678] at Function/http://adobe.com/AS3/2006/builtin::apply() at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8564] at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8507] In my case, the above fix does not help, but after some hefty searching, I'm fairly certain this is of the same issue. Turns out I had to individually set the styleName of a ComboBox with the skins mentioned above to overcome this error, instead of a generic type selector.
i.e., .myComboBox { upSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); overSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); downSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); disabledSkin: ClassReference("mx.skins.halo.ComboBoxArrowSkin"); } <mx:ComboBox styleName="myComboBox"/> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||