I’m again struggling with the fact that FlexJS events have weird inheritance.
I’m working on a TLF port to FlexJS (and no, I have no idea when I’ll be able
to donate the results. I hope to be able to donate it in some form, but I don’t
know when I’ll be in a position to do that.) Either way, TLF has quite a bit of
event redirection and it implements a number of classes which implement
IEventDispatcher, but are not EventDispatchers themselves. dispatchEvent
proxies the event to a “real” event dispatcher.
When I try to compile the code, I get the following error:
[compc]
/Users/harbs/Documents/git/PrintUI/printui-flexjs/text_engine/frameworks/tlf/src/org/apache/flex/textLayout/elements/LinkElement.as(205):
col: 19 Error: interface method dispatchEvent in interface IEventDispatcher is
implemented with an incompatible signature in class LinkElement
[compc]
[compc] public function dispatchEvent(evt:Event):Boolean
[compc] ^
[compc]
[compc]
/Users/harbs/Documents/git/PrintUI/printui-flexjs/text_engine/frameworks/tlf/src/org/apache/flex/textLayout/elements/TextFlow.as(880):
col: 19 Error: interface method dispatchEvent in interface IEventDispatcher is
implemented with an incompatible signature in class TextFlow
[compc]
[compc] public function dispatchEvent(event:Event):Boolean
which I guess makes sense because it’s trying to dispatch a Flex event instead
of a Flash one. I really wish Flex events were “clean” without the baggage of
being subclassed from platform specific dispatchers… :-(
As I’m writing this I’m realizing that I can probably not make these classes
implement IEventDispatcher. I’ll see how that goes…
Harbs