Hi Om, very cool! I build the example and button looks pretty now! :)
As you, Alex and Erik are looking for some internals, could I help making other SVG for other component in the meanwhile? (i.e: CheckBox, RadioButton,...) Could you share more info about the methodology behind the SVG internals in order to build one from scratch? Amazing stuff! :) Carlos 2014-02-26 11:52 GMT+01:00 Erik de Bruin <e...@ixsoftware.nl>: > > > > > 1. I can add a file copy pass to the publish operation of the compiler > > > easily enough, but we need to discuss the best option: > > > - copy all 'non-JS and non-CSS' files, whether or not they are > actually > > > used > > > - copy only the files that belong to classes that are actually used > > > (would require strict naming convention and some compiler intelligence) > > > - pass in the files to copy as a compiler argument (that's going to > get > > > unpractical really, really quickly) > > > > > > > > As Alex mentioned, how about a goog.require for the svg file? Any chance > > we can do that for an entire directory? > > I do see that in the examples/ListsTest project, the image files are > > getting copied over into the js version. How is that working? > > > The 'build_example.xml' ant file has a copy task that specifically copies > all .png files from the src (root only) to bin-debug. I'd call that a > workaround ;-) > > Also, the SVG files are not in a particular project, they're part of the > SDK. > > As to 'goog.require', that is integral to the Closure tools, I wouldn't > want to hijack that system for fear of breaking something in the Closure > steps of publishing (now or on a future update of the tools). > > I suggest something more like this: if there are files that need to travel > with a particular class, they will be in a directory 'assets' next to the > class file, and their name(s) will begin with the name of the class, > possibly followed by a postfix. Example: class A (defined in 'src/A.js') > needs two SVG and one TXT file. The compiler would find these files because > they are in 'src/assets/' and are named A_up.svg, A_down.svg and > A_whatever.txt. > > > > > > 2. I have built a primitive event passing mechanism with my SVG > skins. > > > > I > > > > would like some suggestions on how to wire it up with FlexJS's event > > > > model. > > > > Where is the code that attaches event handlers to buttons? Any > chance > > I > > > > can get a handle to this event handler function inside TextButton.js? > > I > > > > need this because I want to inject it as into the SVG skin. > > > > > > > > Background: When using an SVG in an embed directive, the SVG > document > > > eats > > > > all the mouse events. So, I am passing event handlers into the SVG > > > > document (from the parent) which can then be called from within the > > > > document itself. > > > > > > > > Ok, this is going to be 'interesting'. The MXML representation - the > 'click' attribute - is compiled into debug JS as a randomly named public > method (e.g. $EH2). Other than sequence, there remains no way I can see > that will allow the SVG to 'fish' for a specific JS handler method based on > only the knowledge of the original MXML. > > One possible solution might be to drop the 'random' naming convention and > start using a more predictable one. I can see how - for MXML nodes with an > 'id' property - create event handlers with names that follow a template > like: '[id]_[attribute]'. That would translate to 'mySVGComp_click', > instead of '$EH1'. Then the SVG code can look in the parent for a method > with a name that fits it's template... I don't know SVG, so I can't tell if > that would even be possible on the SVG side. > > > > EdB > > > > -- > Ix Multimedia Software > > Jan Luykenstraat 27 > 3521 VB Utrecht > > T. 06-51952295 > I. www.ixsoftware.nl > -- Carlos Rovira Director de TecnologĂa M: +34 607 22 60 05 F: +34 912 94 80 80 http://www.codeoscopic.com http://www.directwriter.es http://www.avant2.es