Possible enhancement: a symbol in the box below each for the various interfaces they support (mouse, keyboard, focus, etc).
It sounded like a great idea, so I spent some time working on it today. The linked image above is the initial version this enhancement. While looking through the GWT source I found some redundancies in interface usage, and decided to not include the redundancies in the map. One example of this is the TextBoxBase class, which implements the SourcesKeyboardEvents interface. The duplication is that TextBoxBase extends FocusWidget, which in turn implements HasFocus, and HasFocus extends SourcesKeyboardEvents. Some of the redundancies were not obvious until I went to chart them on the map, and could visually see the redundancies.
So far the following interfaces appear on the map: SourcesChangeEvents, HasFocus, HasText, HasHTML, EventListener, SourcesClickEvents, SourcesLoadEvents, SourcesMouseEvents, SourcesKeyboardEvents (by inheritance), and SourcesFocusEvents (by inheritance). There isn't a map legend yet, but I hope it won't be too difficult to figure out.
And for the sake of completeness, the following interfaces still need to be added: ClickListener, HasAlignment, HasHorizontalAlignment, HasVerticalAlignment, HasWidgets, HasWordWrap, MouseListener, PopupListener, SourcesPopupEvents, SourcesTabEvents, SourcesTableEvents, SourcesTreeEvents, and TabListener. Any other interface not listed here was either found to not be used by any classes, or can be traced back through some child interface.
No promises, but I hope to finish it in the next couple of weeks. Let me know if you have any other ideas for enhancing the map.
7 comments:
Nice work! You obviously have a lot more patience than I do when it comes to graphics. So, I would like to propose enhancing your map by making it a clickable image map. With your permission, I'll do the grunt work of collecting image coordinates and assembling the map HTML, but I would also like to use the resulting work to link to some online class documentation. I've already got GWT source online in a browsable form, with notes, cross-references, and JavaDoc. Your API map would make it totally killer.
>> I'll do the grunt work of collecting image coordinates and assembling the map HTML
This is a great idea, by all means please do. Were you planning on linking up both the class names and the interface icons? I think that could be extremely useful.
>> but I would also like to use the resulting work to link to some online class documentation
That sounds like a good idea to me.
You know, I had not thought to do the icons, but that's a really good suggestion. A lot of extra mileage for a little extra work. Well, I'll try to get this done tonight, then. Thanks.
http://nubgames.com/wiki/GWTAPIMap.html
It's mostly debugged. :) And the map coordinates I'm using are listed at the bottom of the page for anybody to recycle. Anyway, thanks again for your permission to borrow your work. I'll keep an eye out for when you make updates so that I can keep the map coordinates in sync.
That is awesome! I especially like the fact that you can access both the source and javadoc. I'll see if I can finish it up this weekend.
I've done some work wrapping the scriptaculous drag and drop using some of your code as a template for my design. If you want, just contact me and I'll send you the source.
jeffreytmiller@gmail.com
I am obviously late to the game here in noticing this resource, but had to say nice job and thanks anyway.
This thing is really hand, kudos.
Post a Comment