Video from io 2012 : The History and Future of Google Web Toolkit
Does anyone know if there is a video about the gwt session from io 2012: The History and Future of Google Web Toolkit by Ray Cromwell? I know that it was not live streamed, but I tought that we could get a delayed video. -- 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: multiple selection file-upload
did you try gwt-upload ? 2011/12/21 Robert Fix rob3rt...@googlemail.com hi, i need a file-upload like it is used in Google+ and want to implement it in a gwt-project. In GWT i can only find a FileUpload with single selection. I hope you can help me because i don't want to use a javascript solution. Best regards, Robert Fix -- 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. -- 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: ImageResource, Sprites and Data: URL
If your resource is declared from an interface, you can use a @DoNotEmbed annotation above specific resources instead of disabling it for all your application. http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/resources/client/DataResource.java?r=10282 2011/10/17 Thomas Broyer t.bro...@gmail.com Simply add set-property name=ClientBundle.enableInlining value=false / to your gwt.xml. See http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Levers_and_knobs -- 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/-/jh6jFaFGSk4J. 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. -- 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: Full page in GWT or just parts?
The main problem will be Search Engine. You will have to rely on htmlunit to fix it (generates static version of webpages). The search engine result isn't important. What do you main by htmlUnit to fix it? HtmlUnit is a tool that embed a browser (firefox) and can execute javascript code to produce an html output. It allows you to write website in Javascript/Ajax and give something to parse to search engine which are not able to parse javascript http://code.google.com/intl/fr-FR/web/ajaxcrawling/docs/getting-started.html http://code.google.com/intl/fr-FR/web/ajaxcrawling/docs/html-snapshot.html you can still optimize it by including the javascript content inside your html/jsp/php page. You can use code splitting to improve it too. What do you mean by putting javascript in the html page directly? Isn't gwt bootstrapping already directly contained in html and in control of loading all the resources as such that you have to wait till gwt performed all the bootstrapping through his own js files... It is only to avoid an extra round trip. A typical scenario is : 1 - Client - Get HTML index Page (with scipt src=module.nocache.js ... inside) (Connection 1) 2 - Client parse the html page and get the Javascript (module.nocache.js) (Connection 2) 3 - Client parse and execute the javascript (bootstrap) 4 - Client detects browser version and retrieve correct module from server (EAZKJ23A123131.cache.js) (Connection 3) 5 - Your module will certainly need to get some data to display from the server with an RPC request (Connection 4) You can optimize two connection from this scenario : Step 1 : Instead of referencing an external javascript (module.nocache.js), directly include the js content in you html page (easy to do with jsp) Step 5 : All data dedicated to the first page can directy be included inside the html page too. You can then read those informations with JSON instead of doing a new RPC call. -- 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. -- 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: New GWT App for hackers
Thank you both for your comments ! Ungarida, you are right, we are going to work on a version that is more compatible with large screen. It was easier to start with fixed width version for our first release, but we are planning to improve the UI. Thanks for feedbacks ! That's funny to see Java hacker trying to solve such problems. -- 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/-/Sl7jlSUq6ncJ. 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: Full page in GWT or just parts?
You can build the full page with GWT but you have to keep in mind, that it will bring some problems too. The main problem will be Search Engine. You will have to rely on htmlunit to fix it (generates static version of webpages). The other problem, is that pages will be a bit slower to load (for two pages, it should not be too much) because you have to load a piece of javascript that will be interpreted on the client before rendering. However, you can still optimize it by including the javascript content inside your html/jsp/php page. You can use code splitting to improve it too. In my opinion, it is really interresting to use GWT if this is for a project that is going to grow. GWT brings good developments models/tools (MVP, activities, eventbus) and good practice (unit tests, dependency injection). But it can be a lost of time if all these points are not thought before starting. We released our website in full gwt (http://www.weecod.com), so it is possible to build a full website with the framework, but it can be really slower depending of the size of the project. In my opinion, for two pages, just keep simple pages with gwt modules. But if you want to build more page later, you can think of a full integration. -- 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.
New GWT App for hackers
Hello, We have just released our new GWT App to test coders. We built the full website with GWT/Gin + Guice/Shiro/MyBatis. If you like coding challenges, you can try the java demo on http://www.weecod.com/demo (Only for real hackers ;) ) Feedback welcome ! And many thanks to the community for all your help during our development ! -- 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: Performance Tip for IE browsers : Java garbage collection is NOT Javascript garbage Collection
Interresting. But in this case, is not it the same problem for all anonymous classes ? Do not you have this problem with event handler ? myButton.addClickHanler(new ClickHandler() { public void onClick(ClickEvent e) {...} } 2011/9/26 Rokesh Jankie rjan...@gmail.com Almost there... method doSomething (){ callback c = createCallback(); } static AsyncCallback? callback = null; AsyncCallback? createCallBack(){ if (callback==null){ callback = new AsyncCallbackObject() { // implement onSuccess // implement onFailure } } return callback; } Since we are keeping the callbacks stateless, this really improved performance on IE! -- 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/-/0Xvfkgn9RjcJ. 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. -- 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: GWT vs Applet
GWT is just javascript, so you cannot access hardware from javascript, except if you use HTML 5 features (like webgl to use video cards, websockets, ...) And, yes, you can interact with applet, the same way that you can do it with javascript. 2011/9/21 Manoj Behera manoj.behera@gmail.com Like Applet GWT can interact with Hardware Component. If yes please let me know, if no is applet can work with GWT -- 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. -- 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: Use Uploaded Image as Panel Background
As soon as your image is uploaded, you can have a link to it. something like http://my.site.com/images/uploaded_img.png Then, you only have to dynamically change the background of your element : myWidget.getElement().getStyle().setBackgroundImage( http://my.site.com/images/uploaded_img.png); The only trick is to upload the image, move it to a folder visible for your website users, and get the valid url associated. To help uploads, you can use gwt-upload project ( http://code.google.com/p/gwtupload/). Really easy to use. 2011/8/22 DarthG garyker...@gmail.com Hello, I have an AbsolutePanel that acts as a graphical workspace. The user should be able to specify a local image to upload and this image will appear as the background on the panel, for them to work on top of. I understand the background can be set using CSS, but how would one do this dynamically after the image is uploaded? Is there a simpler way to do this using an Image widget the same size as the panel and having the panel sit on top of this widget and set as transparent? 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-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. -- 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: JQuery like animation
We use gwt-fx in our project. It is only focused on FX and it does it well. http://code.google.com/p/gwt-fx/ 2011/8/21 Manuel Carrasco MoƱino man...@apache.org On Fri, Aug 19, 2011 at 12:42 PM, Tomasz Gawel tomaszga...@op.pl wrote: 1. But Animation class in gwt seems to be quite handy. All you need is bunch of custom interpolation functions. But these are easy to be taken from MooTools (i did take se below :)) - (easing functions in jquery behave slightly different so simple rewriting it in java drops off). Gwtquery (GQuery) is NOT JQuery nor needs to import it to work, they only share the API (syntax and name of methods), so GQuery has been entirely rewritten taking advance of GWT and reusing as much stuff as possible from gwt. So animate() in GQuery has nothing in common with animate in jquery() (except the name and parameters), the implementation based in the gwt class Animate, and Easing function has only one method interpolate() which is used directly by Animation. Take a look to the Easing interface in gquery which is exactly the same that your Interpolation interface, in fact we could incorporate these bunch of interpolations to the project if you authorise it. http://code.google.com/p/gwtquery/source/browse/trunk/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/effects/PropertiesAnimation.java#37 2. Manuel - great respect for GWT-Query - actually the biggest thing i find missing in gwt is support for dom-programming and lack of built- in selector engine. But I agree with Guy that jquery-like syntax is not necessarily an advantage :) gwtquery is a gwt library, it basically introduces many nice things to the gwt world: css selectors, a lot of useful methods for dom manipulation, animations, light collections, etc, and the jquery popular syntax (method chaining). So if you only need GQuery selectors, you can use them without forcing your programmers to use jquery syntax, nor any reference to the GQuery class. Element context = anyWidget.getElement(); SelectorEngine sel = new SelectorEngine(); NodeListElement nodes = sel.select(.mycontainer .gwt-label, context); The same if you wanted to use Selectors optimized at compile time, etc. Summarizing take from gquery just what you need, and do not feel forced to use jquery-like syntax nor any programming pattern. Like with any other library, the gwt compiler will do its work not including in your javascript anything you do not use. /** from mootools **/ public static interface Interpolation { public static class Power implements Interpolation { protected double power; public Power(double power){ this.power = power; } @Override public double interpolate(double progress) { return Math.pow(progress, power); } } public static class Back implements Interpolation { protected double mute = 1.618; public Back(double mute){ this.mute = mute; } @Override public double interpolate(double progress) { return Math.pow(progress, 2) * ((mute + 1) * progress - mute); } } public static class Elastic implements Interpolation { protected double mute = 1; public Elastic(double mute) { this.mute = mute; } @Override public double interpolate(double progress) { return Math.pow(2, 10 * --progress) * Math.cos(20 * progress * Math.PI * mute / 3); } } public static final Interpolation ELASTIC = new Elastic(1); public static final Interpolation BACK = new Back(1.618); public static final Interpolation QUAD = new Power(2); public static final Interpolation CUBIC = new Power(3); public static final Interpolation QUART = new Power(4); public static final Interpolation QUINT = new Power(5); public static final Interpolation LINEAR = new Interpolation() { @Override public double interpolate(double progress) { return progress; } }; public static final Interpolation EXPO = new Interpolation() { @Override public double interpolate(double progress) { return Math.pow(2, 8 * (progress - 1)); } }; public static final Interpolation CIRC = new Interpolation() { @Override public double interpolate(double progress) { return 1 - Math.sin(Math.acos(progress)); } }; public static final Interpolation SINE = new Interpolation() { @Override public double interpolate(double progress) { return 1 - Math.cos(progress * Math.PI / 2); } }; public static
Re: how to test presenter that is activity
If you use MVP, you might use some kind of factory for your objects, like the PlaceController. The best is to use dependency injection for this (with Gin). The PlaceController is Injected in the Activity (or in your custom factory). When it comes to testing, you can use a special factory (or injection) that implements a Testable PlaceController) 2011/8/17 tanteanni tantea...@hotmail.com On of the main advantages of MVP-patrtern propagated is testability because if implemented correctly there is no need for GWTTestCase. But if i use MVP in conjunction with activities places - meaning presenters become activities - this advantage seem to gone?! Beeing a presenter and activity at the same time means knowing something about PlaceController - to go to other places or to deserialize the state of current place. (If PlaceController is involved the need for GWTTestCase arose.) At the moment i see some alternatives: - testing the old way with GWTTestCase - separating activity and presenter (separating navigation logic from business-logic, the pattern is know MVPA) - make activity more testable (how? give a null-PlaceController in constructor?) My Question is: Is there a best or at least good practice to test/implement such presenters? (the first 2 alternative are the worst in imho) -- 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/-/3_fACom4yUEJ. 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. -- 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: how to test presenter that is activity
Yes, indeed, I did not realized this ! That's a good question :) ! 2011/8/17 tanteanni tantea...@hotmail.com thx i already use gin. but how to get a testable PlaceController - Placecontroller is a class not an interface? my only idea is to give null? -- 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/-/2rENUIKK3DwJ. 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. -- 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: how to test presenter that is activity
One solution could be to create an interface in your project around PlaceController and bind this interface on an inherited version of PlaceController. Then, inject the interface instead of the concrete implementation. But there is certainly an easyier way of doing it... 2011/8/17 Nicolas Antoniazzi nicolas.antonia...@gmail.com Yes, indeed, I did not realized this ! That's a good question :) ! 2011/8/17 tanteanni tantea...@hotmail.com thx i already use gin. but how to get a testable PlaceController - Placecontroller is a class not an interface? my only idea is to give null? -- 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/-/2rENUIKK3DwJ. 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. -- 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.
Datagrid with ScrollPanel
I would like to implement a Custom Pager for datagrid wich has quite the same behaviour as PageSizePager (show more button), but triggered by the scrollbar (show more called every time that the scrollbar reach the bottom of the table). I would like to add a new ScrollHandler on DataGrid, but the ScrollPanel widget is not accessible. Is there a way to get an accessor to this widget? Or does someone know another way to implement such widget ? Thanks, Nicolas. -- 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: Datagrid with ScrollPanel
Thanks jeff ! I'm going to try this :) 2011/8/16 Jeff Larsen larse...@gmail.com HeaderPanel panel = (HeaderPanel) dataGrid.getWidget(); CustomScrollPanel scrollPanel = (CustomScrollPanel) panel.getContentWidget(); -- 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: Apache Shiro or Spring Security??
Here, we use Shiro since it is really easy to integrate. Moreover, Shiro is not tight to Spring... And that's a good thing for us since we use Gin on client and Guice on Server (to not multiply API). 2011/6/22 Elhanan Maayan elh.mailg...@gmail.com we are exploring apache shiro with gwt integration, the reason is first of all, you don't spring beans for it, and 2nd is that also provides for session management which spring security does not. even folks at spring forums say shiro has much broader scope then security .. On Wed, Jun 22, 2011 at 6:17 AM, Juan Pablo Gardella gardellajuanpa...@gmail.com wrote: I do a simple sample https://bitbucket.org/gardellajuanpablo/gwt-sample/wiki/Homethat integrate with spring security, but is very basic. Have server side protected method too with jsr-250. I can't said anything about apache shiro, but if you choose spring security you will no have problems 2011/6/21 Juan Pablo Gardella gardellajuanpa...@gmail.com good luck 2011/6/21 Fabricio Pizzichillo fpizzichi...@gmail.com thanks, I'll do some research on how to integrate 2011/6/21 Juan Pablo Gardella gardellajuanpa...@gmail.com I use spring security and works. Is robust and mature. 2011/6/21 Fabricio Pizzichillo fpizzichi...@gmail.com Hello everyone. What security and authentication framework works well with a GWT application? Someone used some as Apache-Shiro or Spring-Security? What do you recommend? thanks Fabricio -- 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. -- 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. -- 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. -- 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. -- 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. -- 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: Presenters management
Maybe that I did not really understand, but you cannot instantiate sub presenters directly from uiBinder. You have to instantiate it from the parent one, and the child presenter has to instantiate its own view. 2011/5/27 Issam boualem.is...@gmail.com Sorry but I'm not talking about replacing a presenter On 27 mai, 16:04, Patrick Julien pjul...@gmail.com wrote: If you're talking about replacing the presenter, use PlaceController to trigger a place refresh. See the samples on how they use a shell as place holders for presenters/views On Fri, May 27, 2011 at 9:49 AM, Issam boualem.is...@gmail.com wrote: Hi all, I have some difficulties to manage many presenters.For example, I have a principal presenter and of course its appropriate view.So what I want to do is to call another presenter (which is attached to another view )from the principle one. How to do it ? I have already define in my uibinder file the second view that I want to integrate to the principal one ; Any suggestions are welcome 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-toolkit@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-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. -- 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.
Is there a way to not compile the default locale ?
Hello, I'm using i18n with uiBinder. In my gwt config file, I declared 2 locales : !-- French language, independent of country -- extend-property name=locale values=fr/ !-- English language, independent of country -- extend-property name=locale values=en/ Then I assigned the default locale to english set-property-fallback name=locale value=en/ But when I compile my project, GWT executes permutations for 3 languages. I suppose that the third locale is the default one. Since it will never be used, is there not a way to avoid this permutation ? Thanks Nicolas. -- 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: Competitor for world's most useless JavaDoc comment
Greg, If you think that the Javadoc is not correct, send a patch. If you think that the package is not usable, do not use it. If you think that gwt code is not good, do not use gwt... And write your clone with your best comments, But please do not flame like this. 2011/5/17 Alain Ekambi jazzmatad...@googlemail.com So Greg i still dont get what you are trying to achieve here ? That the guyz on the gwt team are doing a poor job ? 2011/5/17 Greg Dougherty dougherty.greg...@mayo.edu Hi Jeff, It may not be completely obvious what is going on here Congratulations, you win understatement of the day. :-) And that's my point. The purpose of a JavaDoc comment is to make it so people CAN understand what's going on. Those comments say nothing. They don't say this is a locale dependent format, go here to figure out what that format will be in your locale, they don't say ANYTHING. that format changes based on the locale If that format changes with the locale, why am I getting an entirely non-US format? While it probably makes sense to you to put the format into US standards, it would totally trip up people writing GWT in french or some other standard. If it's locale dependent, then, since I'm writing in a US locale, that's what I should be seeing. If it's not locale dependent, I don't see why defaulting to a non-US representation is better than defaulting to a US one. The short answer is, it isn't a useless javadoc comment, it is a non-existent comment. Well, I don't know how anyone else codes, but from my perspective, an undocumented constant in a library is a useless constant, since the amount of time and effort spent figuring out what it is and what it does could better be spent just making my own constant that does what I want. Which is what I've now done in this case. As always, you're welcome to submit a patch with javadoc. Well, my understanding is that I can't do that w/o writing to the GWT Coding Standards. They require you to write hideously ugly code, and I only do that when someone pays me, extra. So I don't foresee myself ever writing anything for GWT. Aside from that, I'd have to spend a fair amount of time trying to figure out what each of those constants MEAN. Presumably the person / people who wrote those comments did that in the first place. Which leaves me with the question of why they didn't write that information down, instead of writing down that some day they needed to do that? And the other question of why the GWT Team allowed them to submit the code when it was so obviously incomplete. Yes, I know that there's a lot of volunteer labor that goes into GWT. But I would expect that the pride and professionalism of all involved would demand that things be done right, or not at all. Greg On May 16, 1:12 pm, Jeff Larsen larse...@gmail.com wrote: It may not be completely obvious what is going on here, but that format changes based on the locale, so it isn't exactly easy or maintainable to actually specify what each format is doing for each locale. While it probably makes sense to you to put the format into US standards, it would totally trip up people writing GWT in french or someother standard. While this does add to the complexity, it also removes problems of if you're writing an i18n application, you can just use datetimeformat and get the desired results in the formats that you want. Also, if you look at the code, there is a TODO there to get the formats documented. So they are already aware that they need documentation. The short answer is, it isn't a useless javadoc comment, it is a non-existent comment. As always, you're welcome to submit a patch with javadoc. -- 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. -- GWT API for non Java based platforms http://code.google.com/p/gwt4air/ http://www.gwt4air.appspot.com/ -- 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. -- 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
Re: Re : Is there a way to not compile the default locale ?
Thanks Thomas, it fixed it. 2011/5/17 Thomas Broyer t.bro...@gmail.com See http://code.google.com/p/google-web-toolkit/issues/detail?id=5769 You have to set-property name=locale value=en, fr / (with en, fr being the list of all known locales) -- 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. -- 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: High-performance GWT: best practices for writing smaller, faster apps
Thanks, Great pres ! 2011/5/14 Daniel paradoxpi...@gmail.com Here you go: http://www.youtube.com/watch?v=0F5zc1UAt2Y On May 13, 4:42 pm, Nicolas Antoniazzi nicolas.antonia...@gmail.com wrote: Hi, in the Google I/O, David Chandler did a presentation about best practices with GWT. I have gone to youtube, on the google developer chanelhttp:// www.youtube.com/user/GoogleDevelopersbut I cannot see the video about this presentation. Is someone from google reading this message can tell us if a video will be available online since I think it would be a very interresting topic for all of us :) 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-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. -- 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: UiBinder can't handle CSS to make image transpency rule:filter:alpha(opacity=40)
Maybe use : filter: literal(alpha(opacity=40)); I did not try. 2011/5/14 Alex Luya alexander.l...@gmail.com It seems like UiBinder's CSS mechnism can't this CSS rule: filter:alpha(opacity=40) Following warning will be reported out: - 19:07:56.322 [WARN] .: encountered =. Was expecting one of: + - , / ) STRING IDENT NUMBER URL PERCENTAGE PT MM CM PC IN PX EMS EXS DEG RAD GRAD MS SECOND HZ KHZ DIMEN HASH UNICODERANGE FUNCTION - Following blog post provides a solution,but is there other way to do within UiBinder framework? http://ukitech.blogspot.com/2009/08/transparency-with-css-and-gwt.html -- 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. -- 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.
High-performance GWT: best practices for writing smaller, faster apps
Hi, in the Google I/O, David Chandler did a presentation about best practices with GWT. I have gone to youtube, on the google developer chanel http://www.youtube.com/user/GoogleDevelopers but I cannot see the video about this presentation. Is someone from google reading this message can tell us if a video will be available online since I think it would be a very interresting topic for all of us :) 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-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: High-performance GWT: best practices for writing smaller, faster apps
Thanks Christian, I already watched this video but this is not the same that the sessions that I am talking about. But I had my answer with this thread : http://groups.google.com/group/google-web-toolkit/browse_thread/thread/637141b069cc8557 Thanks 2011/5/13 Christian Goudreau goudreau.christ...@gmail.com Here's the link : http://www.youtube.com/wat http://www.youtube.com/watch?v=imiquTOLl64 ch?v=imiquTOLl64 http://www.youtube.com/watch?v=imiquTOLl64 Cheers, On Fri, May 13, 2011 at 9:42 AM, Nicolas Antoniazzi nicolas.antonia...@gmail.com wrote: Hi, in the Google I/O, David Chandler did a presentation about best practices with GWT. I have gone to youtube, on the google developer chanel http://www.youtube.com/user/GoogleDevelopers but I cannot see the video about this presentation. Is someone from google reading this message can tell us if a video will be available online since I think it would be a very interresting topic for all of us :) 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-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. -- Christian Goudreau www.arcbees.com -- 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. -- 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.
Do you think to release handlers ?
I just realized that I never called removeHandler() on some of handler that I was using. HandlerRegistration h = Window.addResizeHandler(new ResizeHandler() { @Override public void onResize(ResizeEvent event) { height = event.getHeight(); width = event.getHeight(); } }); In the case of a composite that need to get a resize event, I suppose that we have to call h.removeHandler() in the onClose() method isn't it ? Or is there an automatic behaviour to release it ? I know that it is automatic when using a Resettable event bus from activity but it is becausde it is managed by the ActivityManager. Where is the best place to release a resize handler in a composite ? 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-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: TextBox KeyPressEvent doesn't function in Firefox 4
As a workaround, you can use event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER 2011/4/8 Gabriel volpegabr...@gmail.com Eg. txtPwd.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { if (event.getCharCode() == KeyCodes.KEY_ENTER) { btnLogin.click(); } } }); Regards. PD: I think in Firefox 3.x doesn't function. -- 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. -- 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: Spring GWT Integration
Just because gin/guice is better than spring ;) 2011/2/24 lascarayf lascar...@gmail.com Why GWT team do not make a OFFICIAL GWT SPRING INTEGRATION DOCUMENT?? -- 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. -- 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: GWT 2.2 on linux: Designer not wokring
Hi, I am running Ubunbtu 10.04 with eclipse 3.6 and GWT 2.2. the GWT Designer is working on my machine. I had few problem because my view uses the @UiTemplate to reference the associated xml, instead of letting the system default (name of the inner interface in Composite). But except this, it's working fine. Nicolas. 2011/2/24 Mannemarak rvanderw...@gmail.com Dear all. I'm having trouble getting GWT designer running with the new GWT 2.2 on my linux machine. I installed the GWT 2.2 plugin on a fresh eclipse 3.6 install, and everything of GWT seems to work (compile, deployment, etc.) but when I try to open a file with GWT designer I get a screen with the following message: No GWT support found for this system. The product can't find support for the OS, OS architecture or windowing system you're using. Please check the prerequisites and if your system matches it, try to re-install product. Tried it on a different machine with a different flavour of linux, still the same. But in windows in my original machine GWT Designer 2.2 works just fine, also on a fresh install of eclipse 3.6. Is this a bug or am I missing some libraries in linux?? Any help to sort this out would be greatly appreciated! -- 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. -- 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: How to highlight word under mouse in TextArea?
I do not know the low level functions for doing this, but it is possible. We use a tool called CodeMirror on our project. It is a rich text area with code parser and syntax highlight. There are methods it the api to select portion of text. http://codemirror.net/ http://codemirror.net/ 2010/11/21 Gaurav Vaish gaurav.va...@gmail.com IMHO, there's no Javascript API to select only a part of text in text- area... would be happy to be proven wrong. -- Happy Hacking, Gaurav Vaish http://www.mastergaurav.com On Nov 20, 11:20 am, Yu yfan...@gmail.com wrote: Hi, I'd like to highlight the word under the mouse as the mouse pointer move around in a TextArea. But I haven't found any API to do that? Could you please help? Thanks, Yu -- 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.
Re: Eclipse Plugin open source
On my side I would like to extend it to simplify the generation of some code like Activity / View / Place (juste creates stub). Like what is already done for uiBinder / ClientBundle, ... I am very interested to know this date too. Thanks Nicolas. 2010/11/19 jbroquefere jeanbaptiste.roquef...@gmail.com Hi, I know Eclipse Plugin is not yet open sourced, and I know you are thinking about open it. Do you have any idea about the date (2010?02011? later?)? I'm thinking about a plugin which will get compilation error, like Eclipse Plugin does with Service/ServiceAsync (generate Async class, generate methods to be conform to synchronous, etc.), but based on annotations. And getting sources might help me a lot ! Regards, -- 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.
Re: design pattern for common functionality between Activities
Hello Koen, I never used Requestfactory so I do not know if it is similar to RPC. In my case, all my RPC Services can send a ServiceRemoteException (declared in Services interfaces). (ServiceRemoteException is a custom exception that I extended for my needs) @RemoteServiceRelativePath(GWT.rpc) public interface MyRemoteService extends RemoteService { public void myRemoteMethod() throws ServiceRemoteException; } When There is a security exception (I am using a framework to manage security checks called Shiro. http://shiro.apache.org/. I plugged it over Guice and its AOP mechanism. Like this I can use special annotation on my methods like @RequireAuthentication, @RequiresRole(role), @RequiresGuest, ... and every time that a user try to access a method without the correct permissions, a shiro exception is thrown.) All Security Exception are caught by a global server exception catcher. (I extendend the method processCall of the RemoteServiceServlet class for this). When a Shiro Security Exception is caught, I create a new RemoteServiceException with some extra parameters that contains the security exception type for the client. Now, on the client, with RPC call, you calls methods with something similar to this : myService.myRemoteMethod(new AsyncCallbackVoid() { @override public void onSuccess(Void v) { } @override public void onFailure(Throwable t) { } } When a security exception occurs, the client code will execute the onFailure method. Here you can manage how to handle your exception onFailure(Throwable t) { if(t instanceof RemoteServiceException) { ExceptionType type = ((RemoteServiceException) t).getType(); if(type == SECURITY_AUTHENTICATION) { placeController.goTo(new LoginPlace()); } } } Now, maybe that you do not want to write this code in every onFailure(), so, you can extends AsyncCallback class. public abstract class ManagedAsyncCallbackT extends AsyncCallbackT { @override public void onFailure(Throwable t) { // .. write your common security exception management here } } then, when calling a service, you only have to override the onSuccess() in quite every case, except in special situations. myService.myRemoteMethod(new ManagedAsyncCallbackVoid() { @override public void onSuccess(Void v) { } } I hope that it can help you :) I do not know if RequestFactory is using somethig similar (onSuccess, onFailure). Thanks. 2010/11/17 koma k...@koma.be hi Nicolas others, I understand how you work with the dynamic hosted page, but how do you throw the remote exception like you describe here : On server side, I use a security framework that check permission on rpc call. If user is not logged in (session has expired) but want to access to a secured method - I throw a special remote exception. This exceptions is handled by a custom AsyncCallback that will redirects the user to a login page + sends a new LoginStatusEvent(false) I am using Requestfactory and I have /gwtRequest behind a security constraint; so I can block unauthorized request, but I am not receiving a RemoteException; Neither is 'onViolation' or 'onFailure' triggered; My console displays just a JSON exception that occurs. thx Koen -- 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.
simplify i18n usage
Hello, I am trying to use the internationalization feature of GWT. When I have read the doc, it was great, but now that I am in the code, it is a bit harder. I was afraid by the i18n management of uiBinder but thanks to mergelocales from gwtp, it is now really simple. All translations are store in 1 file. Moreover, all those translations have a #TODO : DEPRECATED or #TODO : CONFIRM TRANSLATION or #TODO : TRANSLATE when updated, and it is really awesome. Now, I would like to know if there is something similar for GWT Constants / Messages. I do not know if I will get an answer here, but if you are a gwt developer reading this message, could you tell me if there are plans to simplify the i18n property file management ? Something like mergelocale for all file would be perfect, especially the detection of the changes with the right comment. Are there any plans to remove the need of a mergelocale script with a simpler generation of .properties file for all uiBinder classes ? (the documentation says that it will be simplified in the future) Or maybe that someone has a good method here to handle the generation of .properties and detection of change. Maybe that mergelocale could handle full gwt properties to store them in the ### NON-UIBINDER TRANSLATIONS section automatically. Could you share your exeperience with i18n in GWT ? Thanks a lot Nicolas. -- 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: Calling RPC
No it is not possible since RPC call are simple XmlHttpRequests and Security implementation in browser does not allow cross server call. But, you can forward your RPC requests from the Serve1r to your Server2 Client1 -- Server1 -- Server2. 2010/11/15 Raju rajus...@gmail.com Hi, I am new to GWT and had a requirement. I have two applications running on two different servers. And i need to make an asynchronous call from one application to the other. Is it possible to call the Remote Procedure of one application running on a different server from a different application running on a different server? If so please let me know. Thanks in advance. Raju -- 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.
Re: MVP : VP to VP and Nested View communication
Hi, We implemented nested VP in our app. The inner presenter has an interface that the outer can talk to. Only presenter talk each other, never views. Views are just the responsability of the associated presenter. 2010/11/11 zixzigma zixzi...@gmail.com Hello Everyone, Problem: a View and its Presenter want to communicate with another View/Presenter. Special Case: one view is nested in another. background: to implement MVP for one view and it's presenter we would need a View Interface, a View Implementation which is associated with a UiBinder, also a Presenter. Presenter uses View Interface's inner Interface, to communicate with ViewImplementation. (FooVIew, FooViewImpl, FooPresenter, ... ) this i understand. now lets say we have another View/Presenter (BarView, BarViewImpl, BarPresenter) how can these two sets: Foo and Bar, communicate ? i think its best for them to communicate through interfaces, but i dont know who should be in control. and in scenarios that these two sets (Foo and Bar) are having has a relationship, should the interfaces talk ? #1 FooViewImpl { private BarView barView; } #2 FooViewImpl{ private BarPresenter barPresenter; } is it better if Views are Nested, or one presenter inside the other viewimpl (basically #1 or #2) if you have any experience with these situation, please help ! -- 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.
Re: Entire Site in GWT?
For our project we use Tomcat / Postgresql on server side. It works great. The hardest part is to be able to configure maven (if you use it) with gwt + wtp (eclipse tomcat plugin). But with the latest version of all the eclipse plugins, it should work fine. Nicolas. 2010/11/9 mike.cann mike.c...@gmail.com Hi Guys, Thanks for all the tips, im certainty going to take them on board when I make my choice. Im pretty sure im going to go with GWT now. The next step is to choose my server architecture. I really would like to have gone with GAE however I have done some research and read it cant handle files 1mb in size. As I need to do some image manipulation involving merging several 1mb PNGs into larger ones I think im going to be stuck if I use GAE. So my next question is does GWT play nice with other technologies and if so which do people recommend? I hope I haven't outstayed my welcome on this list! Cheers, Mike On Nov 9, 8:10 am, farmazone farmaz...@gmail.com wrote: Mike, I am also flash/flex guy. Websites built with GWT can have workflow almost the same as those built with flash (especially if you are using Flash Builder od FDT). This is a great advantage for AS3 programmers. But like flash it is not crawlable by google so you have to implement it by yourself. If you are using Tomcat - HtmlUnit is good choice. If not I recommend this approach:http://www.asual.com/jquery/address/. You should be familiar with SWFAddress so it do you no harm :) good luck On Nov 8, 5:49 pm, mike.cann mike.c...@gmail.com wrote: Hi Guys, First post on this list. I have searched for this question before posting. The only answer I could come up with was from a post in 2008 (http://groups.google.com/group/google-web-toolkit/browse_thread/ thread/c852ff3491f4d128/4b1d9c08a91e25ab?lnk=gstq=suitable+for+entire +site#4b1d9c08a91e25ab) so I thought I would ask it again in case anything has changed. As a Flash / Flex developer new to web-dev im loving the extra structure and type safety offered by GWT so im really keen to use it exclusively for a new project. So my questions are: Is GWT suitable for writing an entire website? Specifically im looking to write a site that may sit within a Facebook iframe. Has the GWT isnt web-crawlable issue been solved now? Is the script for every page on your site downloaded at the start or is it downloaded as you click a link (as in a traditional site)? Are there any other barriers to making an entire site in GWT? Cheers, Mike -- 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.
Re: Gwt 2.1 Activities + Code splitting + Gin
Hi Phillipe, Also, I think it's a bit unfair to call GWTP's code generation magic when GWT relies on it for so many different things... But if you really want to write proxys yourself, GWTP's allows it. Yes, I agree that I was a bit unfair with GWTP. In my opinion, it would be a geater tool (for me) if the code in front of generators were more concise (just annotation, no empty interfaces to add), and maybe more optional. bindPresenter() needs view, proxyplace, presenter. But if I prefer to not use ProxyPlace as you suggest, I can't. Out of curiosity, which version of GWTP did you try? 0.4. But I might not have been in the depth of the framework (Just coded 4 main pages of my app) until I get blocked by the Top Div/RootPresenter problem that I explained before. Cheers, Nicolas. -- 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: Entire Site in GWT?
In my opinion, a full website can be built with GWT (uiBinder is a great helper for this). This is the way that we chose in our company. it is really fantastic to code with gwt and it allows to use so many optimizations for the client side (client bundle, conditional css, ...). Every pages of the website is behind a code split so it does not overload the inital loading of the gwt client side. For Search engine, we implemented this mechanism : http://code.google.com/intl/fr/web/ajaxcrawling/docs/getting-started.html with htmlunit in the backend.,But it is only compatible with google. We are looking for a better solution to handle this problem for all search engine. Nicolas. 2010/11/8 Jambi michael.lukaszc...@googlemail.com Hej Mike, GWT Rocks :D! A lot has changed since 2008. And i mean, A LOT. I know that there is a way now to allow web crawlers to scan your app but I donĀ“t know how, since iĀ“ve never used it so far. By default all of the JS script is loaded at start, but you can use code split to split your JS code where you want. I recommend that you check out the GWT talks from Google I/O 2010 and 2009. Most of the talks arenĀ“t that newbie friendly, but you get an idea of the capabilities GWT has. On Nov 8, 5:49 pm, mike.cann mike.c...@gmail.com wrote: Hi Guys, First post on this list. I have searched for this question before posting. The only answer I could come up with was from a post in 2008 (http://groups.google.com/group/google-web-toolkit/browse_thread/ thread/c852ff3491f4d128/4b1d9c08a91e25ab?lnk=gstq=suitable+for+entire +site#4b1d9c08a91e25ab) so I thought I would ask it again in case anything has changed. As a Flash / Flex developer new to web-dev im loving the extra structure and type safety offered by GWT so im really keen to use it exclusively for a new project. So my questions are: Is GWT suitable for writing an entire website? Specifically im looking to write a site that may sit within a Facebook iframe. Has the GWT isnt web-crawlable issue been solved now? Is the script for every page on your site downloaded at the start or is it downloaded as you click a link (as in a traditional site)? Are there any other barriers to making an entire site in GWT? Cheers, Mike -- 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.
Re: Gwt 2.1 Activities + Code splitting + Gin
@Nicolas, Re: the need for a proxy interface I believe it is a limitation of GWT generators that they have to be attached to classes/interfaces. If anybody has a better idea I'm a buyer. But isn't it better than manually writing/editing ActivityManagers? Is it not possible to set an annotation above the presenter ? if presenters implements an interface (Presenter) it should be possible to handle it with a generator and write extra code, no ? (Well I suppose, I never tried to write a real generator). However, this generator might be more difficult to write since it has to mix generated code with user code. It might look a but curious, for the hand written part. But to me, it looks ugly to have empty inner interfaces in my code. Hand coded place are a bit longer to write (10 seconds), but at least, it is a classic style :) However, I am using uiBinder and the empty UiBinder interface is ugly too... And I can't do anything against it :) (But I am still looking for a way of remove it. Maybe that gin will help me). I think that my vision about code style is very personal and that lots of people prefer to use the annotated inner interface, so do not worry about my comments Phillipe :) Cheers, Nicolas Cheers, Philippe On Nov 8, 1:35 am, Nicolas Antoniazzi nicolas.antonia...@gmail.com wrote: Hi Phillipe, Also, I think it's a bit unfair to call GWTP's code generation magic when GWT relies on it for so many different things... But if you really want to write proxys yourself, GWTP's allows it. Yes, I agree that I was a bit unfair with GWTP. In my opinion, it would be a geater tool (for me) if the code in front of generators were more concise (just annotation, no empty interfaces to add), and maybe more optional. bindPresenter() needs view, proxyplace, presenter. But if I prefer to not use ProxyPlace as you suggest, I can't. Out of curiosity, which version of GWTP did you try? 0.4. But I might not have been in the depth of the framework (Just coded 4 main pages of my app) until I get blocked by the Top Div/RootPresenter problem that I explained before. Cheers, Nicolas. -- 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.
Re: design pattern for common functionality between Activities
I can give you what I did in my application. Maybe that you will prefer this method : * When the application loads, the server store a login/logout status of the user in a json format (just for optimization like this : http://code.google.com/intl/fr/webtoolkit/articles/dynamic_host_page.html. You can make an init query to the server to get the status instead of the previous method, but it is a bit slower) * My login/logout link is inside its own activity and it has its own activity manager too. * I send a new LoginStatusEvent(boolean login) when my status is updated and it is handled by my Login/Logout activity. * When user successfully login or logout, I send a new LoginStatusEvent. * On server side, I use a security framework that check permission on rpc call. If user is not logged in (session has expired) but want to access to a secured method - I throw a special remote exception. This exceptions is handled by a custom AsyncCallback that will redirects the user to a login page + sends a new LoginStatusEvent(false) Tell me if this is not clear. Nicolas. 2010/11/9 koma k...@koma.be Hi GWT gurus, Learning the new GWT 2.1 framework and I got security uprunning on my GAE application. Now working with the new Activities/Places. My applicaiton will have a login/logout link in the top right of the website/app. How do I keep this link in sync with the security status of the current visitor/user. Will every activity have to check for the status of the of current user ? Do I create a super class AbstractMyApplicationActivity that implements this functionality and then call this in start() for each child activity ? like this public AbstractMyApplicationActivity extends AbstractActivity { public void updateLoginLogoutLink() { // set the login/logout link correctly } } public SomeActivity extends AbstractMyApplicationActivity { public void start(AcceptsOneWidget containerWidget, EventBus eventBus) { updateLoginLogoutLink() ... some other activity specific stuff. } } Is there a more elegant pattern for implementing this? Now the responsibility of making this calling is present in every activity feels uncomfortable; thx, koen -- 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.
Re: Gwt 2.1 Activities + Code splitting + Gin
Hi Phillipe. i am going to try ProviderBundle. I tried to migrate my application to gwtp just before the 2.1 release but I reverted my changes for 3 reasons : 1 - I prefer to not depend too much on an external framework. I love all new things that come in every new release of gwt and I am afraid that frameworks become unsupported or do not follow new features. I had the exemple of a friend who has prefered to use GXT instead of Pure GWT, and today, he cannot use UiBinder or the new Handler mechanism. He is still using the old listener way. Today, GWT has released the new Activity ~ MVP part, with their own Place system. At the moment, MVP of GWT seems less powerfull than the GWTP's one, but the syntax is different. And tomorrow, maybe that directions will be more different. So I prefer not taking the risk to have a situation like with GXT. 2 - Declaration of Presenter / View looks too much complicated to me (but it is a pure subjective vision :) ). All the generation of ProxyPlace are too magical for me or not enough... By instance, The automatic generation of a Place is something interesting, but in the same time, it is too complicated to generate. I do not like the fact to have to declare an interface which extends ProxyPlace, and references it in a type litteral. I would have prefered to just have something like : @Place(login); @RunAsync public class LoginActivity implement GwtpActivityLoginActivity.Presenter public inteface Presenter { public void onLogin(); ... } or something similar. Today I prefer to stay on a manual code for this part instead of a half generation that is (in my opinion) too complicated to declare. Finally (for the code style part), I did not like the fact that we have to use a local Widget variable in View and returns it with a asWidget() method for UiBinder Views. Today with GWT 2.1, all widgets implements IsWidget and provides a asWidget(). But since we have to store a local instance of Widget inside of view for UiBinder, it cannot be done automatically, we have to override it. However, I understand that IsWidget was not ready when you first implemented it. But today, it does not solve the problem of the local Widget variable. 3 - My application has two top div. One called root for the main part of my application, and one called overlay for all elements that comes like a filter over my root elements (to display overlay help, ...). They have both some css declaration on them. I did not find any way to reuse this system with GWTP. GWTP come with a RootPresenter and I wanted to use a second RootPresenter plugged on overlay div but it is not possible. ActivityManager are more flexible for this, they have a setDisplay() method to setup the top element to use. Well, Phillipe, all those things are just my personal feelings for my specifical needs. I think that GWTP is a great framework for a lot of people. Unfortunatly, in my case, I had to fight against it (maybe that it was a design problem, but I am not sure), and there was all the more subjective aspects (abouts framework overlay and code style) that made me go away. In any case, Phillipe and Christian, thanks for your great work . I am going to try ProviderBundle, maybe that I will be more comfortable with it :) Nicolas. 2010/11/7 PhilBeaudoin philippe.beaud...@gmail.com Hi Nicolas, If you start using AsyncProvider, you might be interested in GWTP's ProviderBundle at some point. The problem of AsyncProvider is that it may introduce too many split points, and you will often want to do some manual optimization and group a few things together behind the same split point. ProviderBundle makes that really easy to do. ProviderBundle is totally usable without the rest of GWTP. (Although I'd love to hear your reason for not using it. ;)) Cheers, Philippe On Nov 6, 4:40 pm, Nicolas Antoniazzi nicolas.antonia...@gmail.com wrote: Thanks Thomas, I implemented something similar to what you said (I think) and it works fine ! All my activities are code splitted automatically now. I used the AsyncProviderT. I used a gin version compiled by gwtp team that include the AsyncProxy (althouth that I do not use gwtp for severals resons, thanks to gwtp dev for this :) ) . @Ashton, you can get it from here : http://code.google.com/p/gwt-platform/http://code.google.com/p/gwt-platform/downloads/detail?name=gin-r137.jar The usage of AsyncProviderT is very simple. It's exactly like a normal ProviderT instead that you have to give an AsyncCallback to the get() method. example : @Inject ProviderMyClass myProvider; @Inject AsyncProviderMyClass myAsyncProvider; private MyClass instance1; private MyClass instance2; public void myMethod() { // To get an instance without code splitting instance1 = myProvider.get(); // To get an instance with code splitting myAsyncProvider.get(new AsyncCallbackMyClass() { @Override public void onSuccess(MyClass result
Re: Gwt 2.1 Activities + Code splitting + Gin
Thanks Thomas, I implemented something similar to what you said (I think) and it works fine ! All my activities are code splitted automatically now. I used the AsyncProviderT. I used a gin version compiled by gwtp team that include the AsyncProxy (althouth that I do not use gwtp for severals resons, thanks to gwtp dev for this :) ) . @Ashton, you can get it from here : http://code.google.com/p/gwt-platform/ http://code.google.com/p/gwt-platform/downloads/detail?name=gin-r137.jar The usage of AsyncProviderT is very simple. It's exactly like a normal ProviderT instead that you have to give an AsyncCallback to the get() method. example : @Inject ProviderMyClass myProvider; @Inject AsyncProviderMyClass myAsyncProvider; private MyClass instance1; private MyClass instance2; public void myMethod() { // To get an instance without code splitting instance1 = myProvider.get(); // To get an instance with code splitting myAsyncProvider.get(new AsyncCallbackMyClass() { @Override public void onSuccess(MyClass result) { instance2 = result; } } @Override public void onFailure(Throwable caught) { } } In the previous example, instance1 is instanciated without code splitting, instance2 with code splitting. This is just a small example to show you the syntax. This example is very stupid since if you declare a class with a class ProviderMyClass in the same file than an AsyncProviderMyClass, MyClass code will not be code splitted. Now, just for people who would like to know how to implement an ActivityAsyncProxy, my implementation looks like this : (And it might really not be the best one. Thomas, maybe that you have a better code to share ;) ) public class ActivityAsyncProxyT implements Activity { @Inject private AsyncProviderT provider; private boolean canceled = false; private Activity impl; @Override public String mayStop() { if (impl != null) return impl.mayStop(); return null; } @Override public void onCancel() { if (impl != null) { impl.onCancel(); } else { canceled = true; } } @Override public void onStop() { if (impl != null) { impl.onStop(); } else { canceled = true; } } @Override public void start(final AcceptsOneWidget panel, final EventBus eventBus) { provider.get(new AsyncCallbackT() { @Override public void onSuccess(T result) { // Do not starts loaded activity if it has been canceled if (!canceled) { impl = (Activity) result; impl.start(panel, eventBus); } } @Override public void onFailure(Throwable caught) { // TODO : send error message } }); } } Now, in my ActivityMapper : public class RootActivityMapper implements ActivityMapper { @Inject ProviderActivityAsyncProxyLoginActivity loginActivityProvider; @Inject ProviderActivityAsyncProxyProfileActivity profileActivityProvider; @Inject ProviderActivityAsyncProxyPrivacyActivity privacyActivityProvider; @Override public Activity getActivity(Place place) { if (place instanceof LoginPlace) return loginActivityProvider.get(); if (place instanceof ProfilePlace) return profileActivityProvider.get(); if (place instanceof PrivacyPlace) return privacyActivityProvider.get(); return null; } } And that's all. Well, Just for information, I created my custom provider for ActivityAsyncProxy : public class ActivityAsyncProxyProviderT extends Activity implements ProviderActivityAsyncProxyT { @Inject ProviderActivityProxyT provider; @Override public ActivityAsyncProxyT get() { return provider.get(); } } Now, in my ActivityMapper, injection are less verbose : @Inject ActivityAsyncProxyProviderLoginActivity loginActivityProvider; @Inject ActivityAsyncProxyProviderProfileActivity profileActivityProvider; @Inject ActivityAsyncProxyProviderPrivacyActivity privacyActivityProvider; Thanks Thomas, you helped me a lot this week with all your tips ! :) Nicolas 2010/11/6 Ashton Thomas attechserv...@gmail.com Does anyone have some words for implementing the AsyncProviderT (Still in trunk as Thomas points out)?? I have not see any code showing how to implement this so I am a little lost on where to start. How do we need to use AsyncProvider and what else needs to be change / restructure anything? Is the AsyncProvider even usable right now if we compile from source? On Nov 6, 9:27 am, Thomas Broyer t.bro...@gmail.com wrote: On 6 nov, 01:24, Nicolas Antoniazzi nicolas.antonia...@gmail.com wrote: Hello, I am trying to use CodeSplitting with Activites on 2.1. I read this very interresting threadhttp:// code.google.com/p/google-web-toolkit/issues/detail?id=5129and T.Broyer says that the best approach is to use an AsyncProxy for Activities. I certainly didn't say it's the best approach (just that Jarod's code wasn't adding anything to AsyncProxy). It makes sense but I have problem with it since my Activities are binded with Gin. AsyncProxy uses GWT.create() to instantiate the concrete types and all my @Inject in my Activities are thus not initialized
Gwt 2.1 Activities + Code splitting + Gin
Hello, I am trying to use CodeSplitting with Activites on 2.1. I read this very interresting thread http://code.google.com/p/google-web-toolkit/issues/detail?id=5129 and T.Broyer says that the best approach is to use an AsyncProxy for Activities. It makes sense but I have problem with it since my Activities are binded with Gin. AsyncProxy uses GWT.create() to instantiate the concrete types and all my @Inject in my Activities are thus not initialized. Does anyone tried to mix new Activity concepts with Code Splitting ? And do you know if it could be compatible with Gin activities ? Thanks Nicolas. -- 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.
why EventBus in start method of Activity in 2.1
Hello, This is just a quick question to gwt developpers to know what is the reason to pass the EventBus to the start() method of Activity ? Is there something special about this instance ? Because if we use a ClientFactory, like described in the MVP doc on the website, (or we inject with Gin), we can get it. And get all other elements too (like PlaceController) So I do not really understand what is the policy behind this. All elements should be passed (EventBus, PlaceController, ...) or none of them (then to rely on ClientFactory or Gin). Why is athere a special mechanism for the EventBus ? Thanks Nicolas. -- 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: why EventBus in start method of Activity in 2.1
Oh yes, that's nice. It's great to wrap the original event bus so we can still use it to send fireEvent() and use the instance from start() to add new handler. Very cool. Thanks Thomas. 2010/11/4 Thomas Broyer t.bro...@gmail.com On 4 nov, 09:46, Nicolas Antoniazzi nicolas.antonia...@gmail.com wrote: Hello, This is just a quick question to gwt developpers to know what is the reason to pass the EventBus to the start() method of Activity ? Is there something special about this instance ? Yes, it's actually a ResettableEventBus, so any handler added to it will automatically be removed when the activity is stopped/cancelled, and you don't have to track HandlerRegistrations yourself. Here's what the Javadoc says: Any handlers attached to the provided event bus will be de- registered when the activity is stopped, so activities will rarely need to hold on to the HandlerRegistration instances returned by EventBus.addHandler(com.google.gwt.event.shared.GwtEvent.Type, H). http://google-web-toolkit.googlecode.com/svn/javadoc/2.1/com/google/gwt/activity/shared/Activity.html#start(com.google.gwt.user.client.ui.AcceptsOneWidget , com.google.gwt.event.shared.EventBus) -- 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.
Re: Nested Views in MVP
Very interresting Thomas. It is similar in some ways to the gwt-presenter project. Just a question. You says that views are singleton. I understand the reason (efficiency). But does not it leads to UI state problems ? By instance, if you call a method on your view that adds a new css class to an element, it means that you will have to remove it before destroying the PresenterActivity (if you want to reuse it later). Or do you have a special mechanism to handle such cases ? Nicolas. 2010/11/4 Thomas Broyer t.bro...@gmail.com On 4 nov, 03:32, David Chandler drfibona...@google.com wrote: Thanks for your thoughts, Nicolas. I believe the reason we've not created View and Presenter interfaces to date is because there are two different styles of MVP widely in use, only one of which allows the view to call the presenter as in your example. Which leaves us in the funny position that the new MVP framework is missing *formal* definitions of View and Presenter. Personally, I think it's a good thing that GWT Activities and Places are independent of views and presenters so as not to force you into one model. I think View and Presenter as you've described would fall in the category of things that are not quite core code, but are nevertheless useful abstractions that probably need a home in the GWT source somewhere for reference. We'll chew on this a bit for 2.1.1... FYI, we created in our project two abstract Activity classes: - a SimplePresenterActivity: you must pass a view instance to the constructor; the start method is final and calls an abstract doStart method without passing the AcceptsOneWidget. Subclasses never see the AcceptsOneWidget instance so they cannot mess with it, they just call a reveal() method when they're ready to be displayed. In addition there are isActive() and isDead() methods (isActive == true between start and stop/cancel, whereas isDead only becomes true after stop/ cancel, i.e. isDead is false between ctor and start). The view is accessible through a getView() method, which is guarded by assertions that the activity isActive(). What it means is that, when assertions are enabled, subclasses cannot touch the view unless they're active (because the view can be shared by several activity instances, so they don't step on each other), and if tests are correctly done/written, developers are forced to check that the activity still isActive() from within their async callbacks. - a PresenterActivity that extends SimplePresenterActivity and a) enforce the fact the the view has a delegate (and a setDelegate method) and b) automatically calls setDelegate when appropriate, with the appropriate value; this is so that developers do not mistakenly call view.setDelegate(this) from within the constructor. We do have test helpers, to be used in the unit tests for the subclasses, to test the scenarios where the activity is cancelled (i.e. cancel the activity, then simulate an RF/RPC/RequestBuilder response; it'll fail if it doesn't check isActive() before calling reveal() or getView()) In brief, this microframework enforces that: - activities are not reusable - only one activity can see (and manipulate) the view at a time (views are singletons) The downside is that it makes extensive use of generics and declaring a subclass of PresenterActivity look tricky if you don't know which type parameter values to use. For instance, here's what a FooActivity could look like: class FooActivity extends PresenterActivityFooActivity, FooView implements FooView.Delegate { private final MyRequestFactory requests; @Inject FooActivity(FooView view, MyRequestFactory requests) { super(view); this.requests = requests; } @Override protected void doStart(EventBus eventBus) { // example using RequestFactory requests.getFooRequest().getAllFoos().fire(new ReceiverListFoo() { public void onSuccess(ListFoo foos) { if (isActive()) { getView().setFoos(foos); reveal(); } } }); } ... } @ImplementedBy(FooViewImpl.class) interface FooView extends PresenterActivity.ViewFooView.Delegate { interface Delegate { ... } void setFoos(ListFoo foos); } class FooViewImpl extends Composite implements FooView { private Delegate delegate; public void setDelegate(Delegate delegate) { this.delegate = delegate; } ... } (we do not currently have an abstract class for the views) For the background on these choices, see my comments on http://gwt-code-reviews.appspot.com/925801/show Time will tell if it's a good approach. -- 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
Re: Nested Views in MVP
Hello, I migrated all my code to GWT 2.1. I was a bit surprised to not find any NestedPresenter helper. I created my own with an interface called NestedPresenter that provides a start(HasWidgets.ForIsWidget container); method. I prefered doing it this way instead of using multiple ActivityManager because it is a real hell to predict all the different place that elements can have. In my application, I have 2 different pages. - One with a list of items (each item is quite complex and has to be tested : View + Presenter for each one). - One with 5 sub presenter/view. Those two pages have a completly different layout, and I do not know exactly what will be the layout of new pages, so it is quite impossible for me to rely on several ActivityManager. Moreover, if I use nested presenter, in these pages, I only want to render them once when the page load, so I do not need any kind of place management. Would not be easier to create a Presenter interface that provides a start() method, that would be extended by Activity ? Thus, it would clarify the concept : Activity interface is an overlayer of Presenter for Place management, and Presenter is just a core part of the MVP pattern (that could be used for nested presenter too) Nicolas. 2010/10/30 zixzigma zixzi...@gmail.com Hello David, I am very excited about the GWT 2.1 release, and planning to use it for a new upcoming project. I have been following and studying the MVP for quite a while now and experimenting with milestone releases. Just wanted to share some of my thoughts: I personally find the name Activity a bit confusing. I've heard it is more popular in Android community. to me, it is MVP, P referring to Presenter (not Activity!) looking at the comments in source code, and tutorials, one can see Presenter and Activity are used interchangeably. eg: An activity in GWT 2.1 is analogous to a presenter in MVP terminology. from MVP tutorial. now for the first time in your comment i read: 2) There is not necessarily a 1:1 correspondence between Activities and presenters. Your Activity might instantiate multiple presenters and corresponding views. I did not know that, as it was not explicitly stated anywhere. so some clarification on that would really help. btw where does the name Activity come from ? about nested views, I was hoping that the new MVP framework address this, as I was planning to use that extensively. your solutions are interesting, I will try to implement them. any basic tutorial on composite views would be great. thank you for GWT 2.1 ! -- 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.
Re: Nested Views in MVP
Ok that's more clear now. I totally agree that not all presenters have to be an activity. Thus, there is something missing in the MVP class provided by GWT 2.1 since it does not allow us to fully use MVP in this case. It would be great to get at least a tiny interface for this in future release of GWT. I discovered with your great post that Activity were not necesserely Presenters. I think that I will have to think again about the concept behind activity because altough it seems simple, I think that I do not really get the advantages of using all those layers and what are the real different between Activity and Presenter (excepts name). Thanks Tomas. Nicolas. 2010/11/3 Thomas Broyer t.bro...@gmail.com On 3 nov, 11:16, Nicolas ANTONIAZZI nicolas.antonia...@gmail.com wrote: Would not be easier to create a Presenter interface that provides a start() method, that would be extended by Activity ? Thus, it would clarify the concept : Activity interface is an overlayer of Presenter for Place management, and Presenter is just a core part of the MVP pattern (that could be used for nested presenter too) Ray Ryan already clarified (several times IIRC) that not every presenter has to be an Activity: http://www.google.com/buzz/t.broyer/471GGi9Jmkb/GWT-2-1-Activities-nesting-YAGNI and I'd add that Activities do not necessarily imply MVP either: http://tbroyer.posterous.com/gwt-21-activities (see section titled Hey, where's the MVP framework you talked about?) Maybe the doc needs to be improved, but many people were expecting Google to release something about MVP in GWT proper, and so did they, and it *had* to be prominent in the doc. -- 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.
Re: Nested Views in MVP
Thanks for your comments. Do you mind sharing with us what would go in the Presenter interface to allow you to fully use MVP? We're very much open to ideas from the community as to how to make it work better. Well, in my opinion, it would be clearer to create 2 new interfaces : 1) a Presenter interface that contains - start(ForIsWidget container) - onStop() then, Activity interface could extends Presenter and add mayStop()... It would clarify that we can insert nested presenter into activity without adding activity into activity since it is not really the same concept in my opinion. 2) Then, create an interface called ViewT extends Presenter that contains - setPresenter(T presenter) they could be implemented by Composite or UiObject. Maybe that it sounds a bit unecessary to you, but I think that it would clarify things between Activities and Presenter/View just with those 2 new interfaces. Activities are more tied to the concept of Places than of MVP, i.e. navigation and user experience rather than code structure (developer experience). Does that make things clearer? Yes, it is clearer. Thanks Thomas. Thanks for all your great work on GWT. Nicolas. -- 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.
GWT 2.1 and Place with token
Hello, I converted all my project to GWT 2.1 Activity/Place following the concept described on http://code.google.com/intl/fr/webtoolkit/doc/trunk/DevGuideMvpActivitiesAndPlaces.html But, doing this work, I came to a question : Why do we have to set a name in the place constructor ? A place generate a #ClassName:Token in the url. Would not be easier to just generate a #Token ? In my opinion it seems a bit complicated to manager class instead of an enum or string constant for each place. A simplification would be to only have 1 place class with a new token (string) for each place, or severals class but with an empty constructor that initializes its name with a constant. But I may have not really understood the real advantage of the #PlaceClass:Token, so maybe someone could help me ? Thanks, Nicolas -- 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: GWT 2.1 and Place with token
Oh, you are absolutly right ! I had not think to this case. Thanks Sebastian Nicolas. 2010/10/27 Sebastian Beigel sebast...@beigel.de Hi Nicolas, often your places are parameterized, think of a detail/edit screen for example that needs the model's id. The token is a generic way to provide additional information (via the URL) to the place (i.e. the activity/-ies), i.e. #editFoo:42. You can of course re-use one place to dispatch to several activities based on the token. See the (currently not used) for ProxyPlace and ProxyListPlace in the Expenses sample for an example. Sebastian On Wed, Oct 27, 2010 at 9:36 AM, Nicolas ANTONIAZZI nicolas.antonia...@gmail.com wrote: Hello, I converted all my project to GWT 2.1 Activity/Place following the concept described on http://code.google.com/intl/fr/webtoolkit/doc/trunk/DevGuideMvpActivitiesAndPlaces.html But, doing this work, I came to a question : Why do we have to set a name in the place constructor ? A place generate a #ClassName:Token in the url. Would not be easier to just generate a #Token ? In my opinion it seems a bit complicated to manager class instead of an enum or string constant for each place. A simplification would be to only have 1 place class with a new token (string) for each place, or severals class but with an empty constructor that initializes its name with a constant. But I may have not really understood the real advantage of the #PlaceClass:Token, so maybe someone could help me ? Thanks, Nicolas -- 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.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.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.
CSS Opacity on IE8
Hello, I think that there is a problem with the Dom Implementation of opacity in IE8. getElement().getStyle.setOpacity(value); The standard way of setting a css opacity is opacity : value with IE6 or 7, it is : filter : alpha(opacity=value); with IE8, it is the same. but there is only a specific implementation for IE6/IE7 browser in gwt gwt source code : in file : DomImplIE6.java : @Override public native void cssSetOpacity(Style style, double value) /*-{ style.filter = 'alpha(opacity=' + (value * 100) + ')'; }-*/; in file : DomImplIE8.java : nothing, and DomImplIE8 do not inherit from DomImplIE6 Am I missing something or is it a bug / oversight ? Thanks, Nicolas. -- 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.
GPE not refreshing xxxx.gwt.rpc in dev mode on linux / tomcat
Hello, I have a problem since a while and I am not sure about the source of the problem. I will use the sample application to explain it here (I will call my project gwt_tmp): 1 - I create a default gwt sample project with GPE. 2 - I start a debug session with the default Jetty Dev Mode. A - I run application in my browser in dev mode, it loads corretly. B - In the sample application, I enter an user name and click the button that will execute an RPC call to the server C - GPE (I suppose) detects that a call is done to an RPC service, and generates the .gwt.rpc policy file. D - I receive a response, all is fine. Perfect! Now, I stop the server and clean the generated directory under war/gwt_tmp to be sure to start from a clean environment. I want to execute the same process but with tomcat instead of Jetty to reflect my real production environment: I update some configurations files to add a web tool nature to my project : 1 - I add a new nature to my .project under eclipse : natureorg.eclipse.wst.common.project.facet.core.nature/nature 2 - I creates associated settings files : * /gwt_tmp/.settings/org.eclipse.wst.common.component ?xml version=1.0 encoding=UTF-8? project-modules id=moduleCoreId project-version=1.5.0 wb-module deploy-name=gwt_tmp wb-resource deploy-path=/ source-path=war/ wb-resource deploy-path=/WEB-INF/classes source-path=/src/ property name=java-output-path/ property name=context-root value=gwt_tmp/ /wb-module /project-modules * /gwt_tmp/.settings/org.eclipse.wst.common.project.facet.core.xml ?xml version=1.0 encoding=UTF-8? faceted-project fixed facet=jst.web/ fixed facet=jst.java/ installed facet=jst.java version=6.0/ installed facet=jst.web version=2.5/ installed facet=wst.jsdt.web version=1.0/ /faceted-project 3 - I update my gwt application launcher to not run in server mode (since tomcat will be the server). 4 - I start the dev mode of the application, and I start tomcat. A - I run application in my browser in dev mode, it loads corretly (but on port 8080 for tomcat instead of for jetty) B - In the sample application, I enter an user name and click the button that will execute an RPC call to the server C - GPE (I suppose) detects that a call is done to an RPC service, and generates the .gwt.rpc policy file. D - Here is the problem ! Tomcat does not seams to realize that a new file has been generated on disk. the log says : INFO: greetServlet: ERROR: The serialization policy file '/gwt_tmp/1CC4B1A5D8B73AD7482A23834A893A1B.gwt.rpc' was not found; did you forget to include it in this deployment? GRAVE: greetServlet: WARNING: Failed to get the SerializationPolicy '1CC4B1A5D8B73AD7482A23834A893A1B' for module ' http://127.0.0.1:8080/gwt_tmp/gwt_tmp/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result. If i refresh my workspace and I restart tomcat, it reload correctly the previously generated .rpc file and I no longer get this error. I tried to activate the auto refresh of worspace file in my eclipse configuration, but it did not resolved this. I know that the worspace auto refresh is not implemented in the same way between windows and linux ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=108697) Since gpe sources are not available, I wanted to be sure that GPE developers have requested a workspace localRefresh on XXX.gwt.rpc generated file ( http://wiki.eclipse.org/FAQ_When_should_I_use_refreshLocal%3F) I might be completly wrong about this, but I have no other idea. Maybe someone has already met this problem and found a solution ? Thanks, Nicolas ANTONIAZZI -- 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: Gwt-platform vs Guit
Hello all, just about your sentence Chistian : That's why, I'm giving a little more work to my views that apply to simple local task that isn't relevant to the presenter, thus simplifying my code and making it more easy to understand and more easy to read. Yes I have to test it, but I have simple test to write that I would have wrote inside my presenters anyway. So, if I understand correctly, it means that it leads to use GWTTestCase which is really slow. And this was the main reason of using MVP with GWT (to skip GWTTestCase). Or is there something that I did not get to test Views with jUnit ? Thanks for your clarifications. 2010/8/24 Christian Goudreau goudreau.christ...@gmail.com I believe is good to have 2 frameworks instead of one... competition leads to great things.. I agree with that point :D I will love to hear your opinion on this: http://code.google.com/p/guit/wiki/GuitViewDesign Already took a loot, well first note, I'm not a conventional MVP user and don't take my arguments as if I wanted to be one :D I'm more a MVP part 2 like explained in the GWT page. Since you've done a good job to automate the event process between the view and the presenter, what will follow will probably not apply to your framework. No need for your binder class if you do MVP part 2 :D No custom annotation needed too and also no need to learn anything but what GWT already offer in that case. I think that when GWT introduced UiBinder, the already gave us a passive view that does nothing rendering our implementation of the MVP pattern a little bit more complexe since we had to pass everything from another passive view to the presenter. That's why, I'm giving a little more work to my views that apply to simple local task that isn't relevant to the presenter, thus simplifying my code and making it more easy to understand and more easy to read. Yes I have to test it, but I have simple test to write that I would have wrote inside my presenters anyway. Now I have a clear distinction between what's relevant to my app and what's relevant only to my view. You may disagree with me, but I ripped around 15 % lines of code in my apps by doing this. What's your going to do will disallow that, while not being a bad thing if you really have two passive view (view and view.ui.xml), but wouldn't be enough for that pattern that I now love :D Then another big question, how this will work with UiBinder for custom widgets that you'll make ? Yeah well, I think we fall back to old ways without any presenter associated. Anyway, I'm more a doer than a thinker, so I'll let anyone else elaborate on the subject :D (Philippe Beaudoin is the brain behind Gwt-Platform :D) Cheers, On Tue, Aug 24, 2010 at 10:25 AM, Gal Dolber gal.dol...@gmail.com wrote: Hi Christian! I will love to join forces to have one great framework, but the truth is that Guit started a year ago as the infrastructure for a project I am about to finish right now. The funny part is that I also started looking at the code of gwt-presenter and mvp4g. I believe is good to have 2 frameworks instead of one... competition leads to great things.. Now, about the Async places, if you annotate the Presenter's Place with RunAsync your place automatically gets splitted ( http://code.google.com/p/guit/wiki/PlaceManager , at the bottom). Also, one important thing about Guit is that all that generated code that it produces is the same that you will hand-write without it. You can see that looking at the generated code... you will only find event registrations and a few field bindings, but you will never feel like loosing control over your code. I will love to hear your opinion on this: http://code.google.com/p/guit/wiki/GuitViewDesign That's the craziest change in my mvp implementation so far, and I loving it. I am looking for down-sides and extra requirements that I didn't think of yet. Cheers! 2010/8/24 Christian Goudreau goudreau.christ...@gmail.com I saw that you can add an annotation over functions, but over an entire place, I don't know. Also, yeah well you may be generating a lot of code with generators, but I'm afraid that in the end, you'll loose freedom for customization. I would have loved to join forces into making a great framework instead of having different products, but I think each project have their good and bad points, even if we still have to fully compare each products.Our devotion to GWT-Platform started with Gwt-Presenter and we're committed to support it and improve it along with our users. Our commitment is to the community and it will always be a priority to improve our users experience with GWT-Platform and GWT. Anyway, nice job Gal, it's sure saves a lot of boiler plate for simple web pages like our Samples, I'll take a look even more deeper to see where it goes against something more complexe. Until I can speek with more objectivity while talking about Guit, I'll only say two
Re: uibinder and css
You can use the external keyword to say gwt that the class should not be obfuscated. ui:style @external myClass; .myClass { /* Adds extra css here */ } /ui:style 2010/8/9 Thomas Van Driessche thomas.van.driessch...@gmail.com Hi, I could use this: ui:style field='otherStyle' src=MyUiOtherStyle.css But the problem is that the css file is on another server... We deploy the gwt app on an OC4J server, but the javascript is called from another html page on another server... And that html page has a link to a css file that my gwt app should use to. So is this possible? kind regards On Aug 6, 3:54 pm, spierce7 spier...@gmail.com wrote: I hope this helps: http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.html#He... Look at the Hello Stylish World Example. Good luck! On Aug 6, 9:38 am, Thomas Van Driessche thomas.van.driessch...@gmail.com wrote: Hi, I have a question on using css in gwt. I know you can give the ui:style component a src to a css file. But what if you want to use the css that is linked in the html page from which the javascript from the gwt project is called? i tried this: g:Button addStyleNames=action ui:field=btnSearch/g:Button And in the css file from the host html page i have put: .action { background-color: green; } Is this possible? Because our javascript that was compiled is called from other html pages to. kind regards, Thomas -- 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.
Re: uibinder and css
When using addStyleNames={style.action}, gwt requires to find class definition of action in style It will not work without at least an empty declaration. The @extrnal keyword only indicates to gwt that class should not be obfuscated. Thus, you can use an external class name to override it. I do not know a cleaner way of doing it, but if someone reads this thread with a better solution, It will be appreciated :) 2010/8/9 Thomas Van Driessche thomas.van.driessch...@gmail.com Hey, when i run my app it says The following obfuscated style classes were missing from the source CSS file: Fix bij adding .action{} It seems like he doesn't find it in the css linked in the html page? kind regards On Aug 9, 12:22 pm, Nicolas ANTONIAZZI nicolas.antonia...@gmail.com wrote: You can use the external keyword to say gwt that the class should not be obfuscated. ui:style @external myClass; .myClass { /* Adds extra css here */ } /ui:style 2010/8/9 Thomas Van Driessche thomas.van.driessch...@gmail.com Hi, I could use this: ui:style field='otherStyle' src=MyUiOtherStyle.css But the problem is that the css file is on another server... We deploy the gwt app on an OC4J server, but the javascript is called from another html page on another server... And that html page has a link to a css file that my gwt app should use to. So is this possible? kind regards On Aug 6, 3:54 pm, spierce7 spier...@gmail.com wrote: I hope this helps: http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.html#He... Look at the Hello Stylish World Example. Good luck! On Aug 6, 9:38 am, Thomas Van Driessche thomas.van.driessch...@gmail.com wrote: Hi, I have a question on using css in gwt. I know you can give the ui:style component a src to a css file. But what if you want to use the css that is linked in the html page from which the javascript from the gwt project is called? i tried this: g:Button addStyleNames=action ui:field=btnSearch/g:Button And in the css file from the host html page i have put: .action { background-color: green; } Is this possible? Because our javascript that was compiled is called from other html pages to. kind regards, Thomas -- 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 google-web-toolkit%2bunsubscr...@googlegroups.comgoogle-web-toolkit%252bunsubscr...@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.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.
Re: How do you use @sprite's and ui:image in UiBinder ui.xml templates?
Sorry, I forgot something in my previous mail. The correct syntax for the Image tag that reference an image resource is : ui:image field=onImage src=on.png/ g:Image resource=*{*onImage*}* / p.s. you said Width/Height will be automatically written in your css class, you do not need to do any reference on it. this is probably true for an img but what about applying a gwt-image on a Panel (background). I would not expect the Panel to have it's size set based on the back ground image's size (even if it is what I want) :) Yes, that might be a problem in some case. You should be able to override the value from css if you wish. In some case, you might want to let the css default width. In this case, you should use DataRessource instead of ImageRessource. To declare this from uiBinder, the correct syntax is : *ui:data* field=*myResource* src=on.png style *...@url myResourceUrl myResource;* .myPanel { background: *myResourceUrl*; } /style Here, the image will be referenced without forcing width/height. 2010/8/9 Andrew Hughes ahhug...@gmail.com Thanks Nicolas - I think I am very close I'm trying this (very simple)... ui:image field=onImage src=on.png/ g:Image resource=onImage/ But, computer say's no :) or more specifically... 00:31:09.750 [ERROR] Cannot parse value: onImage as type ImageResource I have both the ui.xml and the png in the same directory, perhaps this is wrong? ./MyWidget.ui.xml ./on.png CHEERS :) p.s. you said *Width/Height will be automatically written in your css class, you do not need to do any reference on it*. this is probably true for an img but what about applying a gwt-image on a Panel (background). I would not expect the Panel to have it's size set based on the back ground image's size (even if it is what I want) :) On Fri, Aug 6, 2010 at 5:55 PM, Nicolas ANTONIAZZI nicolas.antonia...@gmail.com wrote: Width/Height will be automatically written in your css class, you do not need to do any reference on it. 2010/8/6 Nicolas ANTONIAZZI nicolas.antonia...@gmail.com Hi, The right syntax is : *ui:image field=activeImage src=active.png/* * **ui:image field=deactiveImage src=active.png/* Then, simply use : *...@sprite .active {* *gwt-image: 'activeImage';* * }* * @sprite .deactive { gwt-image: 'deactiveImage'; } Moreover, If you wish to directly use an image ( img/img) instead of a background css image, you can do : g:Image resource=activeImage / g:Image resource=deactiveImage / * 2010/8/6 Andrew Hughes ahhug...@gmail.com Hi Guys, I can't find any doco, so help would be great! I want to set some background gwt-image's inside my ui.xml's ui:style Easiest way to ask my question is to show you what is not working :) !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent; ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder xmlns:g=urn:import:com.google.gwt.user.client.ui *ui:image field=activeImage resource=active.png/* * **ui:image field=deactiveImage resource=active.png/* ui:style type=com.acme.Style *...@sprite .active {* *width: value('activeImage.getWidth','px');* *height: value('activeImage.getHeight','px');* *gwt-image: 'activeImage';* *}* * @sprite .deactive {* *width: value('deactiveImage.getWidth','px');* *height: value('deactiveImage.getHeight','px');* *gwt-image: 'deactiveImage';* *}* /ui:style g:HorizontalPanel g:HTMLPanel ui:field=active addStyleNames={style.deactive}/ /g:HorizontalPanel /ui:UiBinder Questions 1. I'm trying to avoid external css files here and do it all in the ui.xml, perhaps this is not possible 2. How are ui:image resource's defined/referenced? What are the rules on the resource= 3. How is the ui:image field associated with the @sprite? Do I have this right 4. How can I get the width/height of the image (as described here http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Value_function )??? CHEERS :) -- 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.comgoogle-web-toolkit
Re: How do you use @sprite's and ui:image in UiBinder ui.xml templates?
Hi, The right syntax is : *ui:image field=activeImage src=active.png/* * **ui:image field=deactiveImage src=active.png/* Then, simply use : *...@sprite .active {* *gwt-image: 'activeImage';* * }* * @sprite .deactive { gwt-image: 'deactiveImage'; } Moreover, If you wish to directly use an image ( img/img) instead of a background css image, you can do : g:Image resource=activeImage / g:Image resource=deactiveImage / * 2010/8/6 Andrew Hughes ahhug...@gmail.com Hi Guys, I can't find any doco, so help would be great! I want to set some background gwt-image's inside my ui.xml's ui:style Easiest way to ask my question is to show you what is not working :) !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent; ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder xmlns:g=urn:import:com.google.gwt.user.client.ui *ui:image field=activeImage resource=active.png/* * **ui:image field=deactiveImage resource=active.png/* ui:style type=com.acme.Style *...@sprite .active {* *width: value('activeImage.getWidth','px');* *height: value('activeImage.getHeight','px');* *gwt-image: 'activeImage';* *}* * @sprite .deactive {* *width: value('deactiveImage.getWidth','px');* *height: value('deactiveImage.getHeight','px');* *gwt-image: 'deactiveImage';* *}* /ui:style g:HorizontalPanel g:HTMLPanel ui:field=active addStyleNames={style.deactive}/ /g:HorizontalPanel /ui:UiBinder Questions 1. I'm trying to avoid external css files here and do it all in the ui.xml, perhaps this is not possible 2. How are ui:image resource's defined/referenced? What are the rules on the resource= 3. How is the ui:image field associated with the @sprite? Do I have this right 4. How can I get the width/height of the image (as described here http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Value_function )??? CHEERS :) -- 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.
Re: How do you use @sprite's and ui:image in UiBinder ui.xml templates?
Width/Height will be automatically written in your css class, you do not need to do any reference on it. 2010/8/6 Nicolas ANTONIAZZI nicolas.antonia...@gmail.com Hi, The right syntax is : *ui:image field=activeImage src=active.png/* * **ui:image field=deactiveImage src=active.png/* Then, simply use : *...@sprite .active {* *gwt-image: 'activeImage';* * }* * @sprite .deactive { gwt-image: 'deactiveImage'; } Moreover, If you wish to directly use an image ( img/img) instead of a background css image, you can do : g:Image resource=activeImage / g:Image resource=deactiveImage / * 2010/8/6 Andrew Hughes ahhug...@gmail.com Hi Guys, I can't find any doco, so help would be great! I want to set some background gwt-image's inside my ui.xml's ui:style Easiest way to ask my question is to show you what is not working :) !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent; ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder xmlns:g=urn:import:com.google.gwt.user.client.ui *ui:image field=activeImage resource=active.png/* * **ui:image field=deactiveImage resource=active.png/* ui:style type=com.acme.Style *...@sprite .active {* *width: value('activeImage.getWidth','px');* *height: value('activeImage.getHeight','px');* *gwt-image: 'activeImage';* *}* * @sprite .deactive {* *width: value('deactiveImage.getWidth','px');* *height: value('deactiveImage.getHeight','px');* *gwt-image: 'deactiveImage';* *}* /ui:style g:HorizontalPanel g:HTMLPanel ui:field=active addStyleNames={style.deactive}/ /g:HorizontalPanel /ui:UiBinder Questions 1. I'm trying to avoid external css files here and do it all in the ui.xml, perhaps this is not possible 2. How are ui:image resource's defined/referenced? What are the rules on the resource= 3. How is the ui:image field associated with the @sprite? Do I have this right 4. How can I get the width/height of the image (as described here http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Value_function )??? CHEERS :) -- 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.
Re: Compiled scripts VS development
Yes, they run faster when compiled since there is no need for eclipse to be connected to the browser plugin and to handle all events (for communication with eclipse) 2010/7/13 guandalino guandal...@gmail.com Hello, am I wrong thinking that scripts run faster once that are compiled and deployed than when they are served by Jetty during development? 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.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.
Re: User management in GWT
What is the problem with Shiro ? I am using it for security management with my application and we did not have encountered any problem with its integration. It was only few lines of code : public void login(String username, String password) { Subject currentUser = SecurityUtils.getSubject(); if (!currentUser.isAuthenticated()) { UserIdPasswordToken token = new UserIdPasswordToken(username, password); currentUser.login(token); } } Then, I use some annotation binded with guice on server side : @RequiresPermissions @RequiresRoles @RequiresUser @RequiresGuest @RequiresAuthentication And I've got a filter that catch all Shiro Exceptions and transforms them to a gwt client understandable exception. Then, as soon as a Security Exception is sent on the client, I redirect user on a login popup. I did not tried Acegi because I prefered to use guice on server side than spring. 2010/7/2 Jim rightscr...@gmail.com Hi M. I'm also here checking out GWT and I believe I may have tested something that may help you. I think it was while I was running some of the examples in the GWT section of What's Coming in 2.1 using the MVP Framework. In this section there's a link to Spring Roo http://www.springsource.org/roo It's a bit of work, but after setting everything up there's a Roo demo application there that has a simple login to demonstrate the security features of the Spring Roo Framework. If you are familiar with Ruby on Rails, it seems to me that Spring Roo has the same powerful funcionality ... and I love the way they use the console and simple commands to generate the framework, and also, what they call 'entities'. All this, of course, done in Java code. Perhaps you can ask for more info at their site. It's been awhile since I ran the demos ... but I'm pretty sure this is what you're looking for. Hope this helps. Jim -- 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.
Re: Browser specific styles with UIBinder
Did you try with conditional css preprocessor ? In my opinion, this is the best way to inserts some css code specific to a platform. This is done at compilation time, so CSS generated for IE is not same as the Firefox one. Only css specific to the target platform will be transfered : http://code.google.com/p/google-web-toolkit/wiki/CssResource#Conditional_CSS 2010/2/3 Julia julia.og...@gmail.com Hi, I have got some html/css templates that include browser specific css in static html pages: link rel=stylesheet type=text/css media=all href=css/ main.css / !--[if lte IE 8] link rel=stylesheet type=text/css media=all href=css/ ie8.css / ![endif]-- What is the best way to include browser specific styles in the UIBinder's .ui.xml file? Thanks a lot for your help! -- 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.