2009-09-30 17 views
14

estoy construyendo un proyecto algo grande Flex que incluye varios módulos (un solo proyecto Flex que produce varios SWF)Deshabilitar la advertencia del selector de tipo de Flex CSS?

En este momento, tienen un solo archivo CSS, que se carga en el principal etiqueta SWF:

<s:Application ... > 
    <fx:Style source="css/main.css" /> 
... 
</s:Application> 

En el archivo CSS:

/* CSS file */ 
@namespace s "library://ns.adobe.com/flex/spark"; 

s|Panel { 
    skinClass: ClassReference("com.skins.DefaultPanelSkin"); 
} 

s|Button { 
    skinClass: ClassReference("com.skins.DefaultButtonSkin"); 
} 

el archivo CSS no se hace referencia en ningún otro lugar.

Actualmente tengo 6 módulos (más el SWF principal, un total de 7 SWF). Me di cuenta de que el número de advertencias está correlacionado con la cantidad de módulos ... cada vez que agrego un módulo recibo más advertencias. En este momento, tengo 6 advertencias para cada entrada en el archivo CSS, por lo que:

CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 
CSS type selectors are not supported in components: 'Panel' 

y repita para Button, TextArea, etc, etc Tengo tantas advertencias inútiles, es imposible ver si hay alguna validos

¿Esta advertencia está causada por algo que estoy haciendo mal? Todos los estilos se están aplicando correctamente y parece funcionar de la manera que quiero en tiempo de ejecución. Si no estoy haciendo nada mal, ¿puedo decirle al compilador que ignore esta advertencia?

NOTA: He probado el indicador del compilador -show-unused-type-selector-warnings=false, y no funciona ... eso es para una advertencia similar pero diferente.

+0

Agregando un bounty ... 161 advertencias en la compilación son simplemente inmanejables. Puedo generar un ejemplo de proyecto Flex Builder desglosado que produzca este problema si alguien lo quiere. – davr

Respuesta

1

El problema es que no puede definir estilos globales en módulos cargados. Puede utilizar un nombre de estilo específico para la etiqueta del módulo y utilizar descendiente en el CSS para aplicar los estilos a los subcomponentes:

<mx:Module styleName='mySubStyle' .../> 

y en el uso de CSS:

.mySubStyle s|Panel { color: #FF0000; } 
+1

No estoy definiendo el estilo global en el módulo cargado, lo estoy definiendo en mi SWF principal, raíz, principal y no modular. Y ese es el único lugar donde estoy haciendo referencia al archivo CSS ... ninguno de los módulos tiene etiquetas