Re: Multiple GWT Apps inside one HTML Pages
Thanks Thomas, I've already done some tests and not I've not observed any kind of troubles but my fear is that if I rebuild the apps later they entered into collision without warning and I don't want my application to work by mistake... Deeper inside GWT and for my personal knowledge, can you tell me if including a GWT script into an HTML page, this one is creating an iframe DOM child in which the JS fragment are loaded thus preventing several inclusion from colliding ? Le mardi 3 juillet 2012 12:48:47 UTC+2, Thomas Broyer a écrit : I believe all the issues have been fixed (long ago actually). As the docs say, there were issues with event handling, but I believe everything's fixed by now (and the doc is therefore outdated). On Tuesday, July 3, 2012 11:50:51 AM UTC+2, david@gmail.com wrote: Hello All, I know this question as a lot of thread in this group but I've really found what I want. I want to compile several gwt apps independly the one from each other and load these apps into one HTML pages by inserting the script of each .nocache.js I've read on gwt developper guide https://developers.google.com/web-toolkit/doc/latest/DevGuideOrganizingProjects#DevGuideModules that this is quite a bad idea, but I've some good reason for doing so. I've also read a post from Thomas Broyer here : http://stackoverflow.com/questions/9824763/gwt-polluting-global-javascript-namespacethat said that gwt code runs inside an iframe thus is not polluting other js global ressource. Is there really a problem of inserting several gwt apps into the same hosted html page ? Does the generated JS of one module can interfered with another generated JS ? Thanks all for your reply -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/ulUew44YEVgJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Multiple GWT Apps inside one HTML Pages
Hello All, I know this question as a lot of thread in this group but I've really found what I want. I want to compile several gwt apps independly the one from each other and load these apps into one HTML pages by inserting the script of each .nocache.js I've read on gwt developper guide https://developers.google.com/web-toolkit/doc/latest/DevGuideOrganizingProjects#DevGuideModules that this is quite a bad idea, but I've some good reason for doing so. I've also read a post from Thomas Broyer here : http://stackoverflow.com/questions/9824763/gwt-polluting-global-javascript-namespace that said that gwt code runs inside an iframe thus is not polluting other js global ressource. Is there really a problem of inserting several gwt apps into the same hosted html page ? Does the generated JS of one module can interfered with another generated JS ? Thanks all for your reply -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/FM3Ya8FGnZEJ. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: GWTTestCase meddling/not meddling
It feels like you wish to test your client side code that calls real server side code, isn't it ? If you would like to test your client side code that really calls the server side code, it will be the case if you start a GWTTestCase. You could not have a server test with a client side test despite you are using an MVP approach. client side code use some GWT.create that are not understood from javac and server side code contains code not understood by GWTTestCase... On 27 juil, 14:53, Tim K timk...@gmail.com wrote: This tip comes from Communicate with a Server Although GWT translates Java into JavaScript for client-side code, GWT does not meddle with your ability to run Java bytecode on your server whatsoever. Server-side code doesn't need to be translatable, so you're free to use any Java library you find useful. Simply put, I want GWT to meddle with some of my code, but not all of it. Is there a way to have a unit test with both server and client code? This code fails with an error message. --- - import com.example.myproject.server.GreetingServiceImpl; public class ProjectTest extends GWTTestCase { public String getModuleName() { return com.example.myproject.Project; } GreetingServiceImpl greet = new GreetingServiceImpl(); @Test public void test01(){ } } --- - No source code is available for type com.example.myproject.server.GreetingServiceImpl; did you forget to inherit a required module? --- - I understand why this fails. How can we get this to work? Thanks, Tim -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: SimpleEventBus : why such a non-predictive behavior implementation ?
thanks, committed patch here : http://gwt-code-reviews.appspot.com/1500804/ On 26 juil, 22:43, Gal Dolber gal.dol...@gmail.com wrote: I am, but your post is too long to read :) For what I understood, I had a similar problem, and I solved it encapsulating the create widgetC in a DeferredCommand (for your example). Its really hard for me to understand the modification you purpose, maybe someone from google could see it. But I think that if you found a better way of doing something you should send a patch and make us all happyhttp://code.google.com/webtoolkit/makinggwtbetter.html(also you will get more help in gwt-code-reviews.appspot.com than here) Regards! // on the WidgetA.EventType reception is decided to create a widget C create widgetC On Tue, Jul 26, 2011 at 5:11 PM, david.herv...@gmail.com david.herv...@gmail.com wrote: No body concerned ? On 25 juil, 10:50, david.herv...@gmail.com david.herv...@gmail.com wrote: Hi, I'm facing a problem when using the simple implementation of the EventBus. // register widget B to be notified when WidgetA trigger an event register handler of WidgetB on WidgetA.EventType // dispatch (firingDepth is incremented) WidgetA.fireEvent // my widget is really called !!! that's good news WidgetB.onWidgetAEvent // on the WidgetA.EventType reception is decided to create a widget C create widgetC // this widget register himself to be notified on widgetB events - here the widget is registered in the deferredDeltas map (enqueueing) register handler of widgetC on WidgetB.EventType // widget B fired an event which is never trapped by the widget C because the handler of Widget C is in the deferredDeltas AND firingDepth is not 0 WidgetB.fireEvent I'm doubtful because I was expected Widget C to receive event from Widget B. A work around is to encapsulate the WidgetB.fireEvent into a DeferredCommand but it's not really a solution. An other solution is to reconsider the usage of firingDepth, I don't really know why it is used (actually I know, but avoid concurrency modification that way leads to the upper that strange behavior). In simple implementation (thread safe) will be to get rid of the usage of this firingDepth/deferredDeltas and that getHandlerList return a copy of the handlers to go through and that's it: We insert directly the handler when they request for registration and we fire on the current map of handlers Below is a possible implementation of what I think is a better implementation (behaviorally speaking) : package com.google.web.bindery.event.shared; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Set; import com.google.web.bindery.event.shared.Event.Type; public class MySimpleEventBus extends EventBus { private final boolean isReverseOrder; /** * Map of event type to map of event source to list of their handlers. */ private final MapEvent.Type?, MapObject, List? map = new HashMapEvent.Type?, MapObject, List?(); public MySimpleEventBus() { this(false); } /** * Allows creation of an instance that fires its handlers in the reverse of * the order in which they were added, although filtered handlers all fire * before unfiltered handlers. * p * * @deprecated This is a legacy feature, required by GWT's old HandlerManager. * Reverse order is not honored for handlers tied to a specific * event source (via {@link #addHandlerToSource}. */ @Deprecated protected MySimpleEventBus(boolean fireInReverseOrder) { isReverseOrder = fireInReverseOrder; } @Override public H HandlerRegistration addHandler(TypeH type, H handler) { return doAdd(type, null, handler); } @Override public H HandlerRegistration addHandlerToSource(final Event.TypeH type, final Object source, final H handler) { if (source == null) { throw new NullPointerException(Cannot add a handler with a null source); } return doAdd(type, source, handler); } @Override public void fireEvent(Event? event) { doFire(event, null); } @Override public void fireEventFromSource(Event? event, Object source) { if (source == null) { throw new NullPointerException(Cannot fire from a null source); } doFire(event, source); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected H void doRemove(Event.TypeH type, Object
Re: SimpleEventBus : why such a non-predictive behavior implementation ?
Even if multithreaded my implementation is (normally) done. I really don't know why they have used such a mecanism... There may be a use case I'm missing On 27 juil, 17:28, Sixin Zhang sixin.zh...@gmail.com wrote: i feel alike, all new registrations are delayed until the end of firing (depth=0) .. so nothing will happen if firing those new events before the end .. depth behaves like a lock for concurrency, but not really necessary for single-thread JavaScript .. On Jul 27, 9:58 am, david.herv...@gmail.comdavid.herv...@gmail.com wrote: thanks, committed patch here :http://gwt-code-reviews.appspot.com/1500804/ On 26 juil, 22:43, Gal Dolber gal.dol...@gmail.com wrote: I am, but your post is too long to read :) For what I understood, I had a similar problem, and I solved it encapsulating the create widgetC in a DeferredCommand (for your example). Its really hard for me to understand the modification you purpose, maybe someone from google could see it. But I think that if you found a better way of doing something you should send a patch and make us all happyhttp://code.google.com/webtoolkit/makinggwtbetter.html(alsoyouwill get more help in gwt-code-reviews.appspot.com than here) Regards! // on the WidgetA.EventType reception is decided to create a widget C create widgetC On Tue, Jul 26, 2011 at 5:11 PM, david.herv...@gmail.com david.herv...@gmail.com wrote: No body concerned ? On 25 juil, 10:50, david.herv...@gmail.com david.herv...@gmail.com wrote: Hi, I'm facing a problem when using the simple implementation of the EventBus. // register widget B to be notified when WidgetA trigger an event register handler of WidgetB on WidgetA.EventType // dispatch (firingDepth is incremented) WidgetA.fireEvent // my widget is really called !!! that's good news WidgetB.onWidgetAEvent // on the WidgetA.EventType reception is decided to create a widget C create widgetC // this widget register himself to be notified on widgetB events - here the widget is registered in the deferredDeltas map (enqueueing) register handler of widgetC on WidgetB.EventType // widget B fired an event which is never trapped by the widget C because the handler of Widget C is in the deferredDeltas AND firingDepth is not 0 WidgetB.fireEvent I'm doubtful because I was expected Widget C to receive event from Widget B. A work around is to encapsulate the WidgetB.fireEvent into a DeferredCommand but it's not really a solution. An other solution is to reconsider the usage of firingDepth, I don't really know why it is used (actually I know, but avoid concurrency modification that way leads to the upper that strange behavior). In simple implementation (thread safe) will be to get rid of the usage of this firingDepth/deferredDeltas and that getHandlerList return a copy of the handlers to go through and that's it: We insert directly the handler when they request for registration and we fire on the current map of handlers Below is a possible implementation of what I think is a better implementation (behaviorally speaking) : package com.google.web.bindery.event.shared; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Set; import com.google.web.bindery.event.shared.Event.Type; public class MySimpleEventBus extends EventBus { private final boolean isReverseOrder; /** * Map of event type to map of event source to list of their handlers. */ private final MapEvent.Type?, MapObject, List? map = new HashMapEvent.Type?, MapObject, List?(); public MySimpleEventBus() { this(false); } /** * Allows creation of an instance that fires its handlers in the reverse of * the order in which they were added, although filtered handlers all fire * before unfiltered handlers. * p * * @deprecated This is a legacy feature, required by GWT's old HandlerManager. * Reverse order is not honored for handlers tied to a specific * event source (via {@link #addHandlerToSource}. */ @Deprecated protected MySimpleEventBus(boolean fireInReverseOrder) { isReverseOrder = fireInReverseOrder; } @Override public H HandlerRegistration addHandler(TypeH type, H handler) { return doAdd(type, null, handler); } @Override public H HandlerRegistration addHandlerToSource(final Event.TypeH type, final Object source
Re: How to package a gwt project into a jar so that it can be included into other projects
Komal, you have to consider two packaging for your release in order for your project to be used in another project. - one jar for your server side classes (compiled) - one jar for your client side java file (not compiled) that also contains the gwt module, in order the users to include your module into their own gwt module. that it. On 25 juil, 15:27, Komal Goyal ko...@ensarm.com wrote: Hi, I need to package a gwt project into a jar and use the implementations of this project ie its client side class in the importing projects client package and the server side classes to the importing projects server classes how will the Impls work in this case..? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: SimpleEventBus : why such a non-predictive behavior implementation ?
No body concerned ? On 25 juil, 10:50, david.herv...@gmail.com david.herv...@gmail.com wrote: Hi, I'm facing a problem when using the simple implementation of the EventBus. // register widget B to be notified when WidgetA trigger an event register handler of WidgetB on WidgetA.EventType // dispatch (firingDepth is incremented) WidgetA.fireEvent // my widget is really called !!! that's good news WidgetB.onWidgetAEvent // on the WidgetA.EventType reception is decided to create a widget C create widgetC // this widget register himself to be notified on widgetB events - here the widget is registered in the deferredDeltas map (enqueueing) register handler of widgetC on WidgetB.EventType // widget B fired an event which is never trapped by the widget C because the handler of Widget C is in the deferredDeltas AND firingDepth is not 0 WidgetB.fireEvent I'm doubtful because I was expected Widget C to receive event from Widget B. A work around is to encapsulate the WidgetB.fireEvent into a DeferredCommand but it's not really a solution. An other solution is to reconsider the usage of firingDepth, I don't really know why it is used (actually I know, but avoid concurrency modification that way leads to the upper that strange behavior). In simple implementation (thread safe) will be to get rid of the usage of this firingDepth/deferredDeltas and that getHandlerList return a copy of the handlers to go through and that's it: We insert directly the handler when they request for registration and we fire on the current map of handlers Below is a possible implementation of what I think is a better implementation (behaviorally speaking) : package com.google.web.bindery.event.shared; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Set; import com.google.web.bindery.event.shared.Event.Type; public class MySimpleEventBus extends EventBus { private final boolean isReverseOrder; /** * Map of event type to map of event source to list of their handlers. */ private final MapEvent.Type?, MapObject, List? map = new HashMapEvent.Type?, MapObject, List?(); public MySimpleEventBus() { this(false); } /** * Allows creation of an instance that fires its handlers in the reverse of * the order in which they were added, although filtered handlers all fire * before unfiltered handlers. * p * * @deprecated This is a legacy feature, required by GWT's old HandlerManager. * Reverse order is not honored for handlers tied to a specific * event source (via {@link #addHandlerToSource}. */ @Deprecated protected MySimpleEventBus(boolean fireInReverseOrder) { isReverseOrder = fireInReverseOrder; } @Override public H HandlerRegistration addHandler(TypeH type, H handler) { return doAdd(type, null, handler); } @Override public H HandlerRegistration addHandlerToSource(final Event.TypeH type, final Object source, final H handler) { if (source == null) { throw new NullPointerException(Cannot add a handler with a null source); } return doAdd(type, source, handler); } @Override public void fireEvent(Event? event) { doFire(event, null); } @Override public void fireEventFromSource(Event? event, Object source) { if (source == null) { throw new NullPointerException(Cannot fire from a null source); } doFire(event, source); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected H void doRemove(Event.TypeH type, Object source, H handler) { doRemoveNow(type, source, handler); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected H H getHandler(Event.TypeH type, int index) { assert index getHandlerCount(type) : handlers for + type.getClass() + have size: + getHandlerCount(type) + so do not have a handler at index: + index; ListH l = getHandlerList(type, null); return l.get(index); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected int getHandlerCount(Event.Type? eventKey) { return getHandlerList(eventKey, null).size(); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected boolean isEventHandled(Event.Type? eventKey) { return map.containsKey(eventKey); } private H HandlerRegistration doAdd(final Event.TypeH type, final Object source, final H handler
SimpleEventBus : why such a non-predictive behavior implementation ?
Hi, I'm facing a problem when using the simple implementation of the EventBus. // register widget B to be notified when WidgetA trigger an event register handler of WidgetB on WidgetA.EventType // dispatch (firingDepth is incremented) WidgetA.fireEvent // my widget is really called !!! that's good news WidgetB.onWidgetAEvent // on the WidgetA.EventType reception is decided to create a widget C create widgetC // this widget register himself to be notified on widgetB events - here the widget is registered in the deferredDeltas map (enqueueing) register handler of widgetC on WidgetB.EventType // widget B fired an event which is never trapped by the widget C because the handler of Widget C is in the deferredDeltas AND firingDepth is not 0 WidgetB.fireEvent I'm doubtful because I was expected Widget C to receive event from Widget B. A work around is to encapsulate the WidgetB.fireEvent into a DeferredCommand but it's not really a solution. An other solution is to reconsider the usage of firingDepth, I don't really know why it is used (actually I know, but avoid concurrency modification that way leads to the upper that strange behavior). In simple implementation (thread safe) will be to get rid of the usage of this firingDepth/deferredDeltas and that getHandlerList return a copy of the handlers to go through and that's it: We insert directly the handler when they request for registration and we fire on the current map of handlers Below is a possible implementation of what I think is a better implementation (behaviorally speaking) : package com.google.web.bindery.event.shared; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Set; import com.google.web.bindery.event.shared.Event.Type; public class MySimpleEventBus extends EventBus { private final boolean isReverseOrder; /** * Map of event type to map of event source to list of their handlers. */ private final MapEvent.Type?, MapObject, List? map = new HashMapEvent.Type?, MapObject, List?(); public MySimpleEventBus() { this(false); } /** * Allows creation of an instance that fires its handlers in the reverse of * the order in which they were added, although filtered handlers all fire * before unfiltered handlers. * p * * @deprecated This is a legacy feature, required by GWT's old HandlerManager. * Reverse order is not honored for handlers tied to a specific * event source (via {@link #addHandlerToSource}. */ @Deprecated protected MySimpleEventBus(boolean fireInReverseOrder) { isReverseOrder = fireInReverseOrder; } @Override public H HandlerRegistration addHandler(TypeH type, H handler) { return doAdd(type, null, handler); } @Override public H HandlerRegistration addHandlerToSource(final Event.TypeH type, final Object source, final H handler) { if (source == null) { throw new NullPointerException(Cannot add a handler with a null source); } return doAdd(type, source, handler); } @Override public void fireEvent(Event? event) { doFire(event, null); } @Override public void fireEventFromSource(Event? event, Object source) { if (source == null) { throw new NullPointerException(Cannot fire from a null source); } doFire(event, source); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected H void doRemove(Event.TypeH type, Object source, H handler) { doRemoveNow(type, source, handler); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected H H getHandler(Event.TypeH type, int index) { assert index getHandlerCount(type) : handlers for + type.getClass() + have size: + getHandlerCount(type) + so do not have a handler at index: + index; ListH l = getHandlerList(type, null); return l.get(index); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected int getHandlerCount(Event.Type? eventKey) { return getHandlerList(eventKey, null).size(); } /** * @deprecated required by legacy features in GWT's old HandlerManager */ @Deprecated protected boolean isEventHandled(Event.Type? eventKey) { return map.containsKey(eventKey); } private H HandlerRegistration doAdd(final Event.TypeH type, final Object source, final H handler) { if (type == null) { throw new NullPointerException(Cannot add a handler with a null type); } if (handler == null) { throw new NullPointerException(Cannot add a null handler); }
Re: Problem with UTF-8
Hi, Have you specified the UTF-8 before creating file or just change it while your files were created ? I've just copy paste your Label in a project where .java file are UTF-8 encoded and everything works fine. Just check on one of your file the properties that is attributed to it (contextual menu on one of the incriminated java file): here you must have UTF-8. On Aug 2, 9:38 pm, Kiarash email@gmail.com wrote: I have a problem with Swedish letters coded in Java files as when I make a Label with Swedish letters, Label myLabel = new Label(här är något på Svenska); the Swedish letters changes to strange characters in the HTML file. I am using Eclipse.I made sure that: the html file has meta http-equiv=content-type content=text/html; charset=UTF-8 the text file properties are UTF-8 the project properties are UTF-8 the edit set encoding are UTF-8 Anybody facing the same problem or have a solution... thanx! -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: is ZK better than GWT..?
ZK annonces that their approach is a server side centric. Conceptually speaking GWT and ZK are really two different approaches. Main argument for using ZK WAS they have a declarative approach to build the UI. This gap is now obsolote since GWT has the UIBinder. To my point of view the main advantages using GWT are : - its capabality to deal with several browser specific behavior (and more over to let the user add browser specific behavior via deferred binding). - its client side approach : your server can support load more easily - its more natural for Programmers who came from Swing/AWT/SWT/GTK... On the contrary the learning curve is may be stronger On Aug 1, 10:08 am, Sebastian Rothbucher sebastian.rothbuc...@clarities.de wrote: HI akhil, ZK does not have a 2nd compilation step into JS (and can thus use all of Java on both sides). However, you have ongoing client-server communication (speed!), you don't have the optimizations google offers for your and from what I remember from using ZK, the framework is by far not as straightforward: with GWT, you add a widget to a root panel and just program the UI; with ZK, you have binding declarations, event / update issues, ... At least I (but it may be me) had much more trouble and many more problems to solve before the ZK logic was in place (e.g. augment table contents). Finally, you re-use the best practices long established in traditional UI programming and this is where RIA also aims for when using GWT. So for a quick and optimized entry into the subject of RIA - and also for quickly implementing larger stuff with a stable framework, I'd use GWT. I've been using it for a while now and it turned out to be a very solid ground. (Maybe ZK would have done the same when I'd have followed it further - all starting issues can surely be solved there as well; however, I've never regretted choosing GWT). Hope this helps - best Regards Sebastian On 31 Jul., 12:37, matthieu vidal m...@matthieu-vidal.com wrote: Regarding the ZK license and the community arround it, I don't think. On 31 juil, 07:41, akhil shastri.ak...@gmail.com wrote: pls help me to decide isZK ZK better than GWT..? Regards, Akhil -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: CssResources @external and tail-globs
Thanks, I just have to wait ! On Jul 27, 7:00 pm, lineman78 linema...@gmail.com wrote: Apparently the doc has been updated prematurely and this feature is not available in 2.0, but is in 2.1. On Jul 27, 7:43 am, david.herv...@gmail.com david.herv...@gmail.com wrote: Hello, as mentionned in the CssResource wiki :http://code.google.com/p/google-web-toolkit/wiki/CssResource#External... it may be possible to match tail glob pattern in the annotated @external CSS Class. I've tried this feature with no success. Only the @external fixed CSS name are not obfuscated but the tail regexp seems not to be applied ? Did someone already experiment this with success ? thanks -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
CssResources @external and tail-globs
Hello, as mentionned in the CssResource wiki : http://code.google.com/p/google-web-toolkit/wiki/CssResource#External_and_legacy_scopes it may be possible to match tail glob pattern in the annotated @external CSS Class. I've tried this feature with no success. Only the @external fixed CSS name are not obfuscated but the tail regexp seems not to be applied ? Did someone already experiment this with success ? thanks -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Dependency injection perf issues
Hi, the fact that you are using DI does not change your startup time. Your application will take approximately the same time to load if you does the injection by hand. Actually, I think you want to create your view only when you really need it instead of instantiating everything at startup. When using Gin, it is common to let the framework inject everything for you without considering what have to be instantiate and when. Keep in mind that Gin is just here to help you structuring your application. If you want to instantiate view not at startup time but while using application consider injecting ProviderT instead of directly T. This way you have the ability to instantiate what you need when you need via those providers. It will be a little bit tricker, because you will have to manager when to instantiate your views but it's not a Gin matter regards On Jul 9, 8:29 pm, mk munna.kaka.ch...@gmail.com wrote: I used DI i.e. used @Inject to inject (Presenter, EventBus) in all of Views. Now it seems that if I use DI than all views are generated at web app intial start time in browser. Thus start time becomes slow. Am I right? ( I think I heard something like this before also but just want to validate). So if above is true than using @Inject is no good .. right? ( or where can we use @Inject ). Can we use use @Inject to lazily create views instead of web app start time? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Guice with client-side GWT
As Kevin mentionned, Gin is the dependency injection framework for GWT. There are some subtleties compared to Guice as the java code is transformed in JS (for example you can not request an injector for an instance of a class). But it is quite the same idea (Gin is partially based on Guice) and the addressed topic is the same : dependencies injection. Cheers On 27 mai, 06:21, Kevin Qiu kevin.jing@gmail.com wrote: Is thishttp://code.google.com/p/google-gin/what you're looking for? On Wed, May 26, 2010 at 9:11 PM, Blessed Geek blessedg...@gmail.com wrote: Nope, I am not asking about Guice with RemoteServiceServlet for RPC. Is it possible to use Guice on GWT widgets and related client-side manoeuvres? I don't expect the answer to be yes because the native code for GWT client is javascript not JVM byte-code. So, any plans for Guice on client-side GWT? One that works with annotation on Java code but performs injection on javascript generation hand-in-hand with GWT compiler? Are there already any dependency injection frameworks somewhere out there for GWT clients? It would be a feature specifically useful when working with ext-gwt Controller and View. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2Bunsubs cr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: new GWT MVP article (part 2)
Hi, originally the MVP pattern was design for separating the view from its logic and the model it is displaying (as the MVC). Since the arriving of UIBinder I found the word View misused. Actually, strictly speaking the View is contained in the ui.xml file and the Controller is the corresponding java file which is implementing the corresponding logic and instanciation. This file merely represents a kind of Controller. The Presenter used in this tutorial is (for me) nothing more than a ControllerProvider which enable the ability to provide differents implementations of the view logic. What I'm founding strange is the fact that their are using the same acronym (MVP) for two differents approaches : - first one was Presenter centered as the abstraction was done on Display and aggregation were done against the presenter - second one was Display AND Presenter centered as the abstraction is done on Presenter and Display the both referencing each other. But this approach is mainly due to the fact that UIBinder is removing a lot of boiler plate code from event handling (and first MVP tutorial was not using it), but in the same way UIBinder tends people to adapt the original MVP pattern to be able to use all its power ! That why there is so much reflexion to mix UIBinder and MVP together. cheers On Apr 22, 9:27 am, interdev jason.ved...@gmail.com wrote: Hello everyone, have you seen the new MVP Architecture article from google ?http://code.google.com/webtoolkit/articles/mvp-architecture-2.html they have changed the structure slightly, instead of having a View and a Presenter which has an inner Interface (Display), aside from the UiBinder part, they now have a View interface which has an inner Presenter interface ! 1- what do you all think ? are these yet another level of abstraction/ indirection necessary ? 2- when google wants to address problem of Nested/Layered presenters ? header/body/footer, and body having its own dockpanellayout structure. 3- what do you think of presenter.go(container) ? and navigation/ history token inside multiple IF statements ? i think these are more serious to address than introducing an additional view interface which has an inner interface ! 4- what do you think of DTO solution presented in the article, is it scalable ? do you follow it or stick with your twig, gilead framework ? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: UIBinder and CSS resources obfuscation
Yep, I know the @external does the trick, but I was wondering if it exists some kind of global '@external' annotation to tell UIBinder not to obfuscate all classes. @Jeff Chimene : I think you right. My fear is that the UIBinder has to keep this kind of obfuscation/ renaming rules to garantee the non collision in css class name. But, what can't we imagine an option to not obfuscate css classes and raise an error when a collision occured ? On Apr 14, 10:32 pm, Jeff Chimene jchim...@gmail.com wrote: On 04/14/2010 01:27 PM, davidroe wrote: there was a time when I was also looking for this and was unable to find the answer. pls report back to the group if you come across the solution. thanks. Try using the @external annotation @external gwt-TextBox; .gwt-TextBox { border-color: Black Black Gray; border-style: solid double groove solid; border-width: thin; font-size: small; padding: 0; } -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: UIBinder and CSS resources obfuscation
Yep, I have already tried the @external and it does the trick, but I was wondering if it exists some kind of global '@external' annotation to tell UIBinder not to obfuscate all classes. Or perhaps a global property to do that. My fear is that the UIBinder has to keep this kind of obfuscation/ renaming rules to garantee the non collision in css class name. But, why can't we imagine an option to not obfuscate css classes and raise an error when a collision occured ? On Apr 14, 10:32 pm, Jeff Chimene jchim...@gmail.com wrote: On 04/14/2010 01:27 PM, davidroe wrote: there was a time when I was also looking for this and was unable to find the answer. pls report back to the group if you come across the solution. thanks. Try using the @external annotation @external gwt-TextBox; .gwt-TextBox { border-color: Black Black Gray; border-style: solid double groove solid; border-width: thin; font-size: small; padding: 0; } -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: UIBinder and CSS resources obfuscation
Thanks for the reply but I've already tried this solution but as I have mentionned in my first post, it prefix all css class with the package name in which the css is place. I will have a look in Resources.gwt.xml. On Apr 13, 11:16 pm, Sripathi Krishnan sripathikrish...@gmail.com wrote: See the file Resources.gwt.xml .. It has a bunch of properties that you can specify to control how CSS is generated.. I haven't tried it, but putting this in your module.gwt.xml should do the trick. set-configuration-property name=CssResource.style value=pretty / --Sri On 13 April 2010 13:32, david.herv...@gmail.com david.herv...@gmail.comwrote: Hi, I'm currently searching around the web to found out how to tell UIBinder not to perform obfuscation (at-all) on css class. I've read codes samples in which it is tell to put inside the .gwt.xml the property CssResource.obfuscationPrefix to empty. But the css class name doesn't have any links with original name. I've tried to combined with the CssResource.style to pretty but the css class are still prefixed with the package name in which the css resources are located. Prefixing each class with @external in css is some kind of solution, but doing it for all class in all css I want to test is not a real solution. So, my question is : Is there any options for telling UIBinder not to obfuscate css class ? (like a global @external) Thanks in advance -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
UIBinder and CSS resources obfuscation
Hi, I'm currently searching around the web to found out how to tell UIBinder not to perform obfuscation (at-all) on css class. I've read codes samples in which it is tell to put inside the .gwt.xml the property CssResource.obfuscationPrefix to empty. But the css class name doesn't have any links with original name. I've tried to combined with the CssResource.style to pretty but the css class are still prefixed with the package name in which the css resources are located. Prefixing each class with @external in css is some kind of solution, but doing it for all class in all css I want to test is not a real solution. So, my question is : Is there any options for telling UIBinder not to obfuscate css class ? (like a global @external) Thanks in advance -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.