Being able to pick out only base events is crucial for me, as trying to package the DOM classes in some environments leads to breakage (e.g. Android)-Ray
On Thu, Jan 15, 2009 at 10:45 AM, <j...@google.com> wrote: > > > http://gwt-code-reviews.appspot.com/2205/diff/1/6 > File user/src/com/google/gwt/event/Event.gwt.xml (right): > > http://gwt-code-reviews.appspot.com/2205/diff/1/6#newcode2 > Line 2: <source path="shared"/> > On 2009/01/15 14:53:37, ecc wrote: > > In almost all other cases in gwt, the module corresponding to the > package name > > included everything. What about renaming this module to > EventInfrastructure or > > EventBase if that is no longer true? > > The way things were before, it was impossible to take only the Event > module, without picking up both the dom and logical packages. That would > make this entire exercise pointless, because you wouldn't be able to > reuse common event infrastructure without picking up a dependency on > User. > > The only solutions to this are (a) what we have here or (b) to get rid > of the event package hierarchy, which would leave us with something > like: > > gwt.event.Event > gwt.domevent.DomEvent > gwt.logicalevent.LogicalEvent > > I don't care a great deal, but having a structure that makes it > impossible to pick out the modules you want is unacceptable. > > http://gwt-code-reviews.appspot.com/2205/diff/1/8 > File user/src/com/google/gwt/event/shared/HandlerCollection.java > (right): > > http://gwt-code-reviews.appspot.com/2205/diff/1/8#newcode23 > Line 23: */ > On 2009/01/15 14:53:37, ecc wrote: > > wording seems slightly awkward, can you rephrase? Something like > "Contains a > > collection of handlers, exposing the ability ... > > It doesn't actually *contain* a collection of handlers, but I've > reworded it a bit anyway. > > http://gwt-code-reviews.appspot.com/2205/diff/1/7 > File user/src/com/google/gwt/event/shared/HandlerManager.java (right): > > http://gwt-code-reviews.appspot.com/2205/diff/1/7#newcode307 > Line 307: > On 2009/01/15 14:53:37, ecc wrote: > > would prefer to have this method on a separate util class that is then > javadoc'd > > to be only used by people implementing new handler collections > > (EventManagementUtil maybe?) > > > > Done. > > http://gwt-code-reviews.appspot.com/2205/diff/1/7#newcode365 > Line 365: HandlerManager.this.removeHandler((Type<EventHandler>) type, > handler); > On 2009/01/14 22:50:06, rjrjr wrote: > > Why is this an improvement over DefaultHandlerRegistration? We have > arguably > > less type safety, and no fewer classes. > > Not sure I follow -- DefaultHandlerRegistration assumed and required the > use of HandlerManager, so you couldn't use them separately. All it > appeared to do was implement the semantics of an inner class with a lot > more typing (i.e., it had manually written ctor and fields that are just > copies of now-final locals (HandlerManager.this, type, handler), and > both implementations of removeHandler() contain the exact same typecast. > I can't figure out a single reason for separating it into a top-level > class. > > http://gwt-code-reviews.appspot.com/2205/diff/1/24 > File user/src/com/google/gwt/user/client/ui/Widget.java (left): > > http://gwt-code-reviews.appspot.com/2205/diff/1/24#oldcode53 > Line 53: public final HandlerManager getHandlers() { > On 2009/01/15 15:01:08, rjrjr wrote: > > On 2009/01/15 14:53:37, ecc wrote: > > > I think that would be a much larger breaking change if we did not > override the > > > return type here. > > > > I think it's too soon to think that way with this code. All of its > users are > > early adopters who haven't even had access to it in an RC, or internal > users > > whom we're perfectly capable of fixing. > > > > Narrowing the type is the odd thing to do, and if we don't have a > compelling > > reason to do it, we shouldn't. IMHO > > I'm with Ray on this one -- I originally had tightened it down to > HandlerManager because it wasn't an implementation of an interface > method. But there's no need for the covariance here, because widgets > never use it directly. I've loosened the type back to HandlerCollection, > which feels a lot cleaner (I had to add one typecast to ListenerWrapper, > but that's a temporary, deprecated glue class, so that feels ok to me). > > BTW, I dropped the javadoc because it's a trivial implementation of an > interface method. There's no reason to specialize the documentation, and > it will get picked up from the interface anyway. > > http://gwt-code-reviews.appspot.com/2205/diff/1/21 > File user/src/com/google/gwt/user/datepicker/client/DateBox.java > (right): > > http://gwt-code-reviews.appspot.com/2205/diff/1/21#newcode443 > Line 443: DateChangeEvent.fireIfNotEqualDates(getHandlers(), this, > oldDate, date); > On 2009/01/15 14:53:37, ecc wrote: > > I think this was a remnant from the previous patch. > > Thanks. Removed. > > http://gwt-code-reviews.appspot.com/2205/diff/1/20 > File user/src/com/google/gwt/user/datepicker/client/DateChangeEvent.java > (right): > > http://gwt-code-reviews.appspot.com/2205/diff/1/20#newcode42 > Line 42: HandlerCollection handlers, S source, Date oldValue, Date > newValue) { > On 2009/01/15 14:53:37, ecc wrote: > > I think this is a remnant from the previous patch. > > Yup. Removed. > > http://gwt-code-reviews.appspot.com/2205/diff/1/3 > File user/test/com/google/gwt/user/client/WindowTest.java (right): > > http://gwt-code-reviews.appspot.com/2205/diff/1/3#newcode191 > Line 191: ResizeEvent.fire(Window.handlers, Window.handlers, 0, 0); > On 2009/01/14 22:50:06, rjrjr wrote: > > this won't compile... > > Whoops, diff update garbage. Removed. > > http://gwt-code-reviews.appspot.com/2205 > > > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---