You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Maurice Amsellem (JIRA)" <ji...@apache.org> on 2014/03/19 09:32:43 UTC

[jira] [Resolved] (FLEX-23864) getting skin not found error on DropDownList componet on Flex 4 nightly builds since about 4 months ago

     [ https://issues.apache.org/jira/browse/FLEX-23864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maurice Amsellem resolved FLEX-23864.
-------------------------------------

    Resolution: Not A Problem

> getting skin not found error on DropDownList componet on Flex 4 nightly builds since about 4 months ago
> -------------------------------------------------------------------------------------------------------
>
>                 Key: FLEX-23864
>                 URL: https://issues.apache.org/jira/browse/FLEX-23864
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: DropDownList
>    Affects Versions: Adobe Flex SDK 4.0 (Release)
>         Environment: Affected OS(s): All OS Platforms
> Affected OS(s): All OS Platforms
> Browser: Firefox 3.x
> Language Found: English
>            Reporter: Adobe JIRA
>
>       Steps to reproduce:
> 1. add a spark DropDownList to mx:Module
> 2. in <s:Application add an mx:ModuleLoader url=""
> 3. add module via byte array
> eg
>              theSwf = event.message.body as ByteArray;
>                 theModuleLoader.loadModule(null, theSwf);
>       
>  
>  Actual Results:
>    get rutime error cannot find skin
>  
>  Expected Results:
>    no runtime error, had no problem from nightly's in the 14xxx but started happening after that, found ugly work around, but now that 4 released this should be fixed
>  
>  Workaround (if any):
>    extend DropDownList and add skin in contstuctor, eg ** note also had to remove scroller, same skin issue at runtime
> public class BugFixDropDownList extends DropDownList {
>     public function BugFixDropDownList() {
>         super();
>         setStyle("skinClass", Class(BugFixDropDownListSkin));
>       }
> }
> }
>  
> <?xml version="1.0" encoding="utf-8"?>
> <!--
>     ADOBE SYSTEMS INCORPORATED
>     Copyright 2008 Adobe Systems Incorporated
>     All Rights Reserved.
>     NOTICE: Adobe permits you to use, modify, and distribute this file
>     in accordance with the terms of the license agreement accompanying it.
> -->
> <!--- The default skin class for the Spark DropDownList component.
>       The skin for the anchor button for a DropDownList component
>       is defined by the DropDownListButtonSkin class.
>       <p>In a custom skin class that uses transitions, set the
>       <code>itemDestructionPolicy</code> property to <code>none</code>
>       for the PopUpAnchor defined by the popUp property.</p>
>       @see spark.components.DropDownList
>       @see spark.skins.spark.DropDownListButtonSkin
>       @langversion 3.0
>       @playerversion Flash 10
>       @playerversion AIR 1.5
>       @productversion Flex 4
> -->
> <s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
>     xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabled=".5">
>     <!-- host component -->
>     <fx:Metadata>
>     <![CDATA[
>         /**
>          * @copy spark.skins.spark.ApplicationSkin#hostComponent
>          */
>         [HostComponent("spark.components.DropDownList")]
>     ]]
>       >
>     </fx:Metadata>
>     <fx:Script fb:purpose="styling">
>         <![CDATA[
>             /* Define the content fill items that should be colored by the "contentBackgroundColor" style. */
>             static private const contentFill:Array = ["bgFill"];
>             /**
>              * @private
>              */
>             override public function get contentItems():Array {return contentFill};
>                         /**
>              * @private
>              */
>             override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
>             {
>                 if (getStyle("borderVisible") == false)
>                 {
>                     if (border)
>                         border.visible = false;
>                     if (background)
>                     {
>                         background.left = background.top = background.right = background.bottom = 0;
>                     }
>                    /* if (scroller)
>                         scroller.minViewportInset = 0;*/
>                 }
>                 else
>                 {
>                     if (border)
>                         border.visible = true;
>                     if (background)
>                     {
>                         background.left = background.top = background.right = background.bottom = 1;
>                     }
>                    /* if (scroller)
>                         scroller.minViewportInset = 1;*/
>                 }
>                 if (dropShadow)
>                     dropShadow.visible = getStyle("dropShadowVisible");
>                 openButton.setStyle("cornerRadius", getStyle("cornerRadius"));
>                 if (borderStroke)
>                 {
>                     borderStroke.color = getStyle("borderColor");
>                     borderStroke.alpha = getStyle("borderAlpha");
>                 }
>                 super.updateDisplayList(unscaledWidth, unscaledHeight);
>             }
>         ]]
>       >
>     </fx:Script>
>     <s:states>
>         <s:State name="normal" />
>         <s:State name="open" />
>         <s:State name="disabled" />
>     </s:states>
>     <!---
>         The PopUpAnchor control that opens the drop-down list.
>         <p>In a custom skin class that uses transitions, set the
>         <code>itemDestructionPolicy</code> property to <code>none</code>.</p>
>     -->
>     <s:PopUpAnchor id="popUp"  displayPopUp.normal="false" displayPopUp.open="true" includeIn="open"
>         left="0" right="0" top="0" bottom="0" itemDestructionPolicy="auto"
>         popUpPosition="below" popUpWidthMatchesAnchorWidth="true">
>         <!---
>               This includes borders, background colors, scrollers, and filters.
>               @copy spark.components.supportClasses.DropDownListBase#dropDown
>         -->
>         <s:Group id="dropDown" maxHeight="134" minHeight="22" >
>             <!--- @private -->
>             <s:RectangularDropShadow id="dropShadow" blurX="20" blurY="20" alpha="0.45" distance="7"
>                  angle="90" color="#000000" left="0" top="0" right="0" bottom="0"/>
>             <!--- @private -->
>             <s:Rect id="border" left="0" right="0" top="0" bottom="0">
>                 <s:stroke>
>                     <!--- border stroke @private -->
>                     <s:SolidColorStroke id="borderStroke" weight="1"/>
>                 </s:stroke>
>             </s:Rect>
>             <!-- fill -->
>             <!--- Defines the appearance of drop-down list's background fill. -->
>             <s:Rect id="background" left="1" right="1" top="1" bottom="1" >
>                 <s:fill>
>                 <!---
>                     The color of the drop down's background fill.
>                     The default color is 0xFFFFFF.
>                 -->
>                     <s:SolidColor id="bgFill" color="0xFFFFFF" />
>                 </s:fill>
>             </s:Rect>
>             <!--- @private -->
>         <!--    <s:Scroller id="scroller" left="0" top="0" right="0" bottom="0" hasFocusableChildren="false" minViewportInset="1">-->
>                 <!--- @copy spark.components.SkinnableDataContainer#dataGroup-->
>                 <s:DataGroup id="dataGroup" itemRenderer="spark.skins.spark.DefaultItemRenderer">
>                     <s:layout>
>                         <s:VerticalLayout gap="0" horizontalAlign="contentJustify"/>
>                     </s:layout>
>                 </s:DataGroup>
>            <!-- </s:Scroller>-->
>         </s:Group>
>     </s:PopUpAnchor>
>     <!---  The default skin is DropDownListButtonSkin.
>             @copy spark.components.supportClasses.DropDownListBase#openButton
>             @see spark.skins.spark.DropDownListButtonSkin -->
>     <s:Button id="openButton" left="0" right="0" top="0" bottom="0" focusEnabled="false"
>         skinClass="spark.skins.spark.DropDownListButtonSkin" />
>     <!--- @copy spark.components.DropDownList#labelDisplay -->
>     <s:Label id="labelDisplay" verticalAlign="middle" maxDisplayedLines="1"
>         mouseEnabled="false" mouseChildren="false"
>         left="7" right="30" top="2" bottom="2" width="75" verticalCenter="1" />
> </s:SparkSkin>
>     



--
This message was sent by Atlassian JIRA
(v6.2#6252)