Hi everyone.

I'm having an issue with skinning a component in a .swc library in my
project.  When using Flash Builder 4.5.1 I don't have the issue, but
when I try to compile the project with maven I'm running into some
issues.  I've tried 2 workarounds, and both fail at the flex mojos
stage, so I was hoping one of you clever folks could give me some
advice.

I use a lot of SkinnableComponents in the app, and all the skins are
set in a .css file which is loaded via a <style source="style.css"/>
declaration in the top level application file.  The app is based
heavily on geographic mapping, and I'm using the ESRI API for most of
the mapping stuff.  The ESRI .swc is loaded via a dependency:

...
<dependency>
  <groupId>com.esri.ags</groupId>
  <artifactId>agslib</artifactId>
  <version>2.2-2010-12-08</version>
  <type>swc</type>
</dependency>
...

Now what I need to do is skin the InfoWindow component from the ESRI
ArcGIS library, but flex mojos won't let me do it.  I built a simple
skin .mxml file with the following:

...
<!-- host component -->
<fx:Metadata>
  [HostComponent("com.esri.ags.components.supportClasses.InfoWindow")]
</fx:Metadata>
...

and added this to my style.css file:

...
esri|InfoWindow {
  skinClass: ClassReference("skin.InfoWindowSkin");
}
...

This works in Flash Builder with no complaints, but when I try to
compile via flex mojos, I get the following:

/Users/adam/Development/workspace 4.5.1/FROGS/frogs/src/themes/
style.css(21): Warning: Cannot resolve namespace qualified type
'InfoWindow' in CSS selector 'InfoWindow'

esri|InfoWindow {

/Users/adam/Development/workspace 4.5.1/FROGS/frogs/src/skin/
InfoWindowSkin.mxml(-1):  Error: Type was not found or was not a
compile-time constant: InfoWindow.

That was attempt #1.  After some time poking around and not finding a
solution, I tried again with some hackery.  This time I changed the
HostComponent of the skin to a mx.core.Container, which is the base
class for an ESRI InfoWindow, and tried setting the skin via
actionscript:

...
esriMap.infoWindow.setStyle("skinClass", Class(skin.InfoWindowSkin));
...

Once again, this worked in Flash Builder, and when I compiled via flex
mojos it built successfully!  But then I actually ran the compile .swf
file, and the skin didn't load at all for the InfoWindow.  The
InfoWindow had it's default ESRI skin.  And I was sad again.

Anybody run into this before?  It doesn't seem like it'd be that rare
of an issue, but I haven't turned anything up anywhere that points
towards a solution.

Here's my version stuff:
<flexVersion>4.5.0.20967</flexVersion>
<flashVersion>10.2</flashVersion>
<flexmojosVersion>4.0-RC2</flexmojosVersion>
<javaVersion>1.6</javaVersion>

If there's any other information I can provide let me know.

Thanks,
Adam Reiter

-- 
You received this message because you are subscribed to the Google
Groups "Flex Mojos" group.
To post to this group, send email to flex-mojos@googlegroups.com
To unsubscribe from this group, send email to
flex-mojos+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/flex-mojos

http://flexmojos.sonatype.org/

Reply via email to