Re: CellTable Formats Incorrectly on IE9
The easiest way to fix this will be to use specific styles to IE browser. You append * before the style property, these styles become specific to IE browser. //.css .cellTableEvenRowCell { text-align:left *text-align:left !-- only specific to IE browser -- } .cellTableOddRowCell { text-align:left *text-align:left !-- only specific to IE browser -- } S. Abraham www.DataStoreGwt.com Persist objects directly in GAE On Sep 30, 5:19 am, drtman drt...@gmail.com wrote: If I take the example code directly from the GWT API docs for CellTable (i.e. the code for an entry point module that creates and displays a contact table with a manual list), the table that is displayed has no formatting whatsoever on IE9. It is just simple left- justified text with no styling and nothing is selectable. If I replace the CellTable with a DataGrid, only the paging control displays. On Chrome and Firefox these appear to work. I have tried all combinations of styling, tried replacing the CellTable.Resources with my own styling, etc., etc. and it never works. Is there a trick to making the new data widgets style properly on IE9, or is there something I should be looking for that is specific to IE? I wish I could just forget about supporting IE with my app, but the real world won't let me do that. -- 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: a problem with flow layout
Set the size to VerticalPanel using the setSize(width, height) . S. Abraham www.DataStoreGwt.com Persist objects directly in GAE On Sep 30, 6:19 am, wahaha il...@yahoo.com.cn wrote: i made a flowpanel,then put some verticalPanel in it. but the verticalPanel will not layout as flow,it just as a normal block element. how to solve this problem? -- 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 and IE8
Now I have only the line: set-property name=user.agent value=gecko1_8/ I'm not so sure why this should fix the problem. By specifying that line I speed up the compiler because it doesn't compile all the versions anymore. If run my application in IE8 now, then I just see a blank page and no sign indicating any java script errors. However, when I click on the refresh button. I get an error box with message: ERROR: Possible problem with your *.gwt.xml module file. The compile time user.agent value (gecko1_8) does not match the runtime user.agent value (ie8). Expect more errors. Thank you for helping me Juan! I appreciate it a lot. P.S. If it helps you I can send you the link to the application. On Sep 30, 5:11 am, Juan Pablo Gardella gardellajuanpa...@gmail.com wrote: Seehttp://stackoverflow.com/questions/1011863/how-do-i-speed-up-the-gwt-..., how set user agent. 2011/9/29 mkn m.kho...@gmail.com I use GWT 2.4.0 I added to the project's myProject.gwt.xml (just in front of the / module tag) the following lines: !-- Browser-sensitive code should use the 'user.agent' property -- define-property name=user.agent values=ie6 / extend-property name=user.agent values=ie8 / extend-property name=user.agent values=gecko1_8 / extend-property name=user.agent values=safari / extend-property name=user.agent values=opera / extend-property name=user.agent values=ie9 fallback- value=ie8 / property-provider name=user.agent generator=com.google.gwt.user.rebind.UserAgentPropertyGenerator/ whereas I changed the first line from define-property ... to extend- property If I use define-property.. then I got the error: [ERROR] The deferred-binding property named user.agent may not be redefined. [ERROR] Line 40: Unexpected exception while processing element 'define- property' On Sep 29, 9:51 pm, Juan Pablo Gardella gardellajuanpa...@gmail.com wrote: What gwt version are you use? Are you modify user.agent http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/.. .property in your module? 2011/9/29 mkn m.kho...@gmail.com Hi I developed an application in GWT. It worked perfectly in Chrome and Safari. However, when I tried it on IE8 I was shocked because it didn't work anymore. So when I browse to the application I just see a blank page and at the bottom left there is this warning sign. When I click on it says: Webpage error details User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/ 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2) Timestamp: Thu, 29 Sep 2011 19:31:40 UTC Message: Exception thrown and not caught Line: 657 Char: 5 Code: 0 URI: http://something.com/test_light/test_light/658EB31931BDA704313D9668F7. .. So I opened the Developer Tools and there is a message: Exception thrown and not caught on line 657. This is the line 653 until 663: function entry_0(jsFunction){ return function(){ try { return entry0(jsFunction, this, arguments); } catch (e) { throw e; } } ; } The most weird thing is, that when I click on refresh button of the browser, then the application works. I also put a meta http-equiv=X-UA-Compatible content=IE=8 (as suggested herehttp:// code.google.com/p/google-web-toolkit/wiki/IE8Support ) in my .html file and it didn't change anything. I always thought that GWT is compatible with IE6,7,8. I hope someone can help me solving this issue. Many thanks in advance for any kind of 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-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: gwtc support for java style 'compiler flags'
On Thursday, September 29, 2011 8:02:11 PM UTC+2, jchimene wrote: On 09/29/2011 06:05 AM, Bart wrote: Because Java does not have compiler flags like, it is suggested to use static (boolean) contants with if expressions instead. The Java compiler is even required to remove any dead code that results from such constructs. In our development we have a number of these kind of compiler flags, where the developer can choose the flags by including one or more specific jars in the class path. This works very well for normal Java code. However, for GWT client code, the GWT compiler makes it hard to use them, as it requires the source code for these constants, as well as an explicit inherit and gwt.xml definition. In my opinion, the GWT compiler should not actually require any source code for these constructs, as it could simply extract the constant's value from the class file and replace the reference to the constants with its value. Is there any simpler way to handle compiler flags in GWT client code? I think the answer to your question is going to depend on why you need compiler flags. For example, some might say use one or more of the following: (1) assert; (2) inheritance; (3) Gin. (4) deferred binding (and choosing the right gwt.xml to pass to the compiler) FYI, Google Apache Wave does (4); and that's what GWT suggests using (look at all the properties you can set in a gwt.xml: stacktrace emulation, logging level, logging handlers, CssResource obfuscation, ClientBundle resource inlining, etc.) -- 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/-/inJkH-qAYWgJ. 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 Developer Plugin for Firefox 7
I tried compiling on Ubuntu 11.04 and got: ExternalWrapper.cpp:50:1: error: expected constructor, destructor, or type conversion before ‘ExternalWrapper’ -- 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/-/eT5zVkkkOYcJ. 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: [RequestFactory] Updating a proxy
Why would BasicUserService ( = GizmoService?) be called if you invoke UserRequest#persist(UserProxy) ( = ThingRequest#persist(ThingProxy) ?) It's hard to follow what you're expecting given that you switched from thing/gizmo/setSomething to [something-else]/user/basicUser/set[what?] Could you post the actual code that led to the request whose payload you posted already? -- 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/-/FzJoPRveo2EJ. 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 can i delete a GWT Module?
Same problem here. Did anyone solve this problem? -- 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/-/wNKGbxTunckJ. 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 Developer Plugin for Firefox 7
I haven't tried it (yet) but what's needed is just to do the same as http://code.google.com/p/google-web-toolkit/source/detail?r=10593 but for ff70. If you're not on Linux 32bits though (that's my case, and why I haven't tried it yet), you'd have to download the appropriate Gecko SDK for your platform and unpack it in the plugin-sdks/gecko-sdks/gecko-7.0.0/platform, mimicking what's been done for ff60 and/or ff70-on-Linux-32bits. Otherwise, you're right that make BROWSER=ff70 should be enough (the README says the ARCH defaults to the one of the machine you run the build on); it'd add support for ff70 for your platform to the prebuilt XPI. I bet it's a bit different on Windows though. -- 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/-/hCv1DbxIkpcJ. 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: RequestFactoryEditorDriver returns empty array for getPaths
Are you sure the editor driver sees the ListEditor? Set a breakpoint in PathCollector to see which editor it visits (this is done when you initialize() the driver), and try to understand why it doesn't collect the path for your list (note that the PathCollector only collects paths for non-value-types, unless the editor for a value-type uses a @Path referencing a sub-object –i.e., with a . in it.) -- 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/-/je0G-kHjdR4J. 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: AutoBean Deserialization of JSON that can be an Array or single Object
Thanks for the reply, the server is using JSON-lib to serialize an XML representation of the data (as two REST APIs are provided), I will look into altering the servers JSON output to force arrays where needed. Thanks again, Rich On 30 September 2011 05:56, -sowdri- sow...@gmail.com wrote: but I cannot guarantee the JSON format. What library are you using on the server? Should I look to change my JSON server output so that even if a single object is returned it is still wrapped in an array? Yes! -- 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/-/sUIzUnQtICkJ. 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: Failure Parsing XML Document from Servlet
On Thursday, September 29, 2011 10:39:40 PM UTC+2, Laura Bickle wrote: Hi Jeff, I set the content type like so: response.setContentType(text/xml); I think MIME is a superset of content type. I don't explicitly set any other MIME things. How do I look up the MIME type of a file? My previous errors are from firefox. Per your suggestion, I tried using safari and chrome instead and they each gave me this error. The first line is the result of requesting the xml file. The second line comes from trying to parse it. (-:-) 2011-09-29 13:32:28,825 [DEBUG] result:?xml version=1.0 encoding=UTF-8?stuff IIRC, some browsers (can't remember which ones) choke on the XMLDecl when it specifies an encoding; because you're parsing a String, which is a stream of characters, and encodings only applies to streams of bytes (to actually turn the bytes into characters). Try trimming the XMLDecl from your XML before giving it to XMLParser.parse(). Something like (untested): if (xml.substring(0, 5).equalsIgnoreCase(?xml)) { xml = xml.substring(xml.indexOf(?) + 2); } Best would of course be to emit the encoding in the Content-Type HTTP header (application/xml; charset=UTF-8) and not send the XMLDecl at all. -- 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/-/1h74ivOd75AJ. 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 can i delete a GWT Module?
In your project's settings, go to Google → Google Web Toolkit and make sure your module is no longer referenced there. -- 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/-/4ZwwPEqgcHEJ. 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 and IE8
On Friday, September 30, 2011 9:02:46 AM UTC+2, mkn wrote: Now I have only the line: set-property name=user.agent value=gecko1_8/ I'm not so sure why this should fix the problem. No, it'll be worse. Juan Pablo asked you *whether* you were doing such things (because that could have triggered the issue), not that you change you module. By specifying that line I speed up the compiler because it doesn't compile all the versions anymore. If run my application in IE8 now, then I just see a blank page and no sign indicating any java script errors. However, when I click on the refresh button. I get an error box with message: ERROR: Possible problem with your *.gwt.xml module file. The compile time user.agent value (gecko1_8) does not match the runtime user.agent value (ie8). Expect more errors. Yes, you only compiled for Firefox, so its' no longer working in other browsers (IE, Chrome/Safari, Opera) P.S. If it helps you I can send you the link to the application. That could help, yes. -- 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/-/L-0kOnVMfu0J. 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 Developer Plugin for Firefox 7
Yeah I'm on Ubuntu 64 bit For other 64 bit users out there, I needed to do the following: - Get your Linux 64bit gecko sdk from Mozilla (available here: http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/7.0/sdk ) - Add -std=gnu++0x to CFLAGS in the Makefile - Make sure I had the 32 bit building stuff - I needed to install libc6-dev-i386 g++-multilib (The error I got previously was from not editing the Makefile correctly so I deleted my post) -- 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/-/1zdUyD1yiCwJ. 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: FlexTable border and TabPanel
Hi, Thanks for your help. I try run it and the tab panel is working. For the border I see the different border fot the cell but I don't see the any border for the row. Do you have any idea why is that ? BTW - how can I send a screenshot ? Thanks On Sep 29, 3:35 pm, Sudhakar Abraham s.abra...@datastoregwt.com wrote: You didn't add the border property in .FlexTable-diffPrev and .FlexTable-diffCurr. Add your FlexTable style property in global css file. The global css file name should be your_Project.css in your project /war directory. About your TabPanel problem, I send the edited code segment of your existing code. S. Abrahamwww.DataStoreGwt.com Persist objects directly in GAE // Corrected code. public void onModuleLoad() { TabPanel tabPanel = new TabPanel(); FlowPanel flowPanel = new FlowPanel(); FlexTable flexTable1 = new FlexTable(); flexTable1.addStyleName(FlexTable); HTMLTable.RowFormatter rf = flexTable1.getRowFormatter(); for(int i = 0; i 6; i+=2) { rf.addStyleName(i, FlexTable-PrevRow); rf.addStyleName(i+1, FlexTable-CurrRow); flexTable1.setText(i, 0, Text1+i); flexTable1.setText(i, 1, Text2+i); flexTable1.setText(i+1, 0, Text1+i); flexTable1.setText(i+1, 1, Text4+i); flexTable1.getCellFormatter().addStyleName(i, 1,FlexTable-diffPrev); flexTable1.getCellFormatter().addStyleName(i+1, 1,FlexTable-diffCurr); } flowPanel.add(flexTable1); tabPanel.add(flowPanel,FlexTable); tabPanel.selectTab(0); tabPanel.setSize(500px, 250px); tabPanel.addStyleName(table-center); RootPanel.get().add(tabPanel); } // Corrected css file. .FlexTable { border-top: thin solid #44; border-left: thin solid #44; border-right: thin solid #11; border-bottom: thin solid #11; } .FlexTable-PrevRow { border-bottom: solid 1px red; } .FlexTable-CurrRow { border-bottom: dashed 1px blue; } .FlexTable-diffPrev { color: blue; border-bottom: solid 1px red; } .FlexTable-diffCurr { color: red; border-bottom: solid 1px green; } -- 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: FlexTable border and TabPanel
Hi, Thanks for your help. I try run it and the tab panel is working. For the border I see the different border fot the cell but I don't see the any border for the row. Do you have any idea why is that ? BTW - how can I send a screenshot ? Thanks On Sep 29, 3:35 pm, Sudhakar Abraham s.abra...@datastoregwt.com wrote: You didn't add the border property in .FlexTable-diffPrev and .FlexTable-diffCurr. Add your FlexTable style property in global css file. The global css file name should be your_Project.css in your project /war directory. About your TabPanel problem, I send the edited code segment of your existing code. S. Abrahamwww.DataStoreGwt.com Persist objects directly in GAE // Corrected code. public void onModuleLoad() { TabPanel tabPanel = new TabPanel(); FlowPanel flowPanel = new FlowPanel(); FlexTable flexTable1 = new FlexTable(); flexTable1.addStyleName(FlexTable); HTMLTable.RowFormatter rf = flexTable1.getRowFormatter(); for(int i = 0; i 6; i+=2) { rf.addStyleName(i, FlexTable-PrevRow); rf.addStyleName(i+1, FlexTable-CurrRow); flexTable1.setText(i, 0, Text1+i); flexTable1.setText(i, 1, Text2+i); flexTable1.setText(i+1, 0, Text1+i); flexTable1.setText(i+1, 1, Text4+i); flexTable1.getCellFormatter().addStyleName(i, 1,FlexTable-diffPrev); flexTable1.getCellFormatter().addStyleName(i+1, 1,FlexTable-diffCurr); } flowPanel.add(flexTable1); tabPanel.add(flowPanel,FlexTable); tabPanel.selectTab(0); tabPanel.setSize(500px, 250px); tabPanel.addStyleName(table-center); RootPanel.get().add(tabPanel); } // Corrected css file. .FlexTable { border-top: thin solid #44; border-left: thin solid #44; border-right: thin solid #11; border-bottom: thin solid #11; } .FlexTable-PrevRow { border-bottom: solid 1px red; } .FlexTable-CurrRow { border-bottom: dashed 1px blue; } .FlexTable-diffPrev { color: blue; border-bottom: solid 1px red; } .FlexTable-diffCurr { color: red; border-bottom: solid 1px green; } -- 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.
Add style for even row and add row in cellTable.
I created a cellTable having more number of rows and columns. I wana add background color for each row in celltable. Shall I change the property in celltable? Help me. -- 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: Add style for even row and add row in cellTable.
There are three ways to add style to celltable 1. Global css 2. Inline Style sheet using UiBinder 3. Using CellTable.Resources Extend the CellTable.Resources interface and specify the CellTableStyle.css in source attribute. I send the code segment of CellTable.Resources used in CellTable. // In .java file use the below code. CellTableStyle.css file in your project directory. interface TableResources extends CellTable.Resources { @Source(value = { CellTable.Style.DEFAULT_CSS, CellTableStyle.css }) CellTable.Style cellTableStyle(); } //add CellTableStyle.css in cellTable CellTableYour_domain_class result = new CellTable(15, GWT.TableResources create(TableResources.class)); //CellTableStyle.css .cellTableCell { height: 20px; padding: 2px 25px; } .cellTableHeader { height: 20px; border-bottom: 2px solid #60a6bf; } .cellTableEvenRow { background: #fffaf0; border:solid 1px red; } .cellTableEvenRowCell { border:solid 1px green; } .cellTableOddRow { background: #fff8e8; } .cellTableOddRowCell { border:solid 1px red; } S. Abraham www.DataStoreGwt.com Persist objects directly in GAE -- 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.
Newbie question on gradient Button with GWT CSS
Hi everyone, I am new to web development but pretty experienced in Java for standalone desktop application development. So I understand GWT is the perfect tool for people like me, who can only do a few lines of JS before getting overwhelmed. Eventually I am going to write a sizable application with GWT, but for now I am experimenting with various widgets to get a good feel for the intricacies of GWT. Of course I have many questions, but my most pressing one is the style customization of widgets (i.e. a button). How do I use background in CSS to apply say a gradient to any gwt-Button? For some reason my Button doesn't show the png image, whereas a Image image = new Image(/ images/gradient.png) will display the file properly. Other CSS parameters (i.e. height) for gwt-Button ARE affecting the button, so the css file seems to be incorporated. What am I missing here? Could someone please just post a CSS/Java code example, where a gradient is shown on a GWT Button? That'd be awesome. Is there perhaps a good tutorial/book somewhere on how to customize other widgets (ScrollBars, TabBars etc)? GWT is great, but the default look, not so much. Thanks, Dan -- 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 give a external link inot a samrtgwt portlet
For external link please use following code com.google.gwt.user.client.ui.Anchor lAncInvoiceNo = new com.google.gwt.user.client.ui.Anchor(Google, false); lAncInvoiceNo.addClickListener(new ClickListener() { public void onClick(Widget w) { //TODO--Your code -- Like Window.open(href://www.google.com); } }); On Sep 30, 9:35 am, yashujn yashssha...@gmail.com wrote: hi , please tell me how to give a external link into a smartgwt portlet i mean to say like in gwt we use this: String link = http://code.google.com/webtoolkit;; HTML html = new HTML(a href=\ + link + \GWT Website/a); RootPanel.get().add(html); if I use this in smartgwt then link is appear in the protlet but when i move the portelt from one column to other column then portlet is disappeared .. somebody plz help me. -- 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 stream version.
GWT RPC Request contains stream version. Now stream version is 5. May be somebody knows how can I get stream version from code? -- 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 Issue : Deferred binding failed for 'com.google.gwt.user.client.ui.NativeHorizontalScrollbar.ResourcesTransparant'; expect subsequent failures
Hi all, I just update my GWT version to the newest version : 2.4. I have tried to create a DataGrid in a DialogBox, and i got the error below : [DEBUG] [visu] - Rebinding com.google.gwt.user.client.ui.NativeHorizontalScrollbar.ResourcesTransparant [DEBUG] [visu] - Invoking generator com.google.gwt.resources.rebind.context.InlineClientBundleGenerator [DEBUG] [visu] - Preparing method nativeHorizontalScrollbarStyle [DEBUG] [visu] - Parsing CSS stylesheet jar:file:/D:/Documents/ eclipse/plugins/ com.google.gwt.eclipse.sdkbundle_2.4.0.r36v201109211906/gwt-2.4.0/gwt- user.jar!/com/google/gwt/user/client/ui/ NativeHorizontalScrollbarTransparent.css [ERROR] [visu] - Unable to parse CSS [INFO] [visu] - The following problems were detected [WARN] [visu] - Line 1 column 12: 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 IMPORTANT_SYM UNICODERANGE FUNCTION [ERROR] [visu] - Deferred binding failed for 'com.google.gwt.user.client.ui.NativeHorizontalScrollbar.ResourcesTransparant'; expect subsequent failures [ERROR] [visu] - Uncaught exception escaped If I replace DataGrid by CellTable, it works great. Could you please have a look ? It seems that there is an issue linked to the transparent scrollbar. It there any possibility to use standard scrollbar instead ? Thanks in advance ! Stephane I have another issue ( smaller ) to report : in the GWT 2.4 javadoc, the DataGrid object has exactly the same example code as the CellTable object -( I suppose that it's a bad copy paste ) -- 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 and IE8
No, it'll be worse. Juan Pablo asked you *whether* you were doing such things (because that could have triggered the issue), not that you change you module. So the answer would be no, I haven't modified anything. How can I found out what this function does (because obviously it throws the Exception): function entry_0(jsFunction){ return function(){ try { return entry0(jsFunction, this, arguments); } catch (e) { throw e; } } ; } On Sep 30, 10:45 am, Thomas Broyer t.bro...@gmail.com wrote: On Friday, September 30, 2011 9:02:46 AM UTC+2, mkn wrote: Now I have only the line: set-property name=user.agent value=gecko1_8/ I'm not so sure why this should fix the problem. No, it'll be worse. Juan Pablo asked you *whether* you were doing such things (because that could have triggered the issue), not that you change you module. By specifying that line I speed up the compiler because it doesn't compile all the versions anymore. If run my application in IE8 now, then I just see a blank page and no sign indicating any java script errors. However, when I click on the refresh button. I get an error box with message: ERROR: Possible problem with your *.gwt.xml module file. The compile time user.agent value (gecko1_8) does not match the runtime user.agent value (ie8). Expect more errors. Yes, you only compiled for Firefox, so its' no longer working in other browsers (IE, Chrome/Safari, Opera) P.S. If it helps you I can send you the link to the application. That could help, yes. -- 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.
RequestFactory and JSR 303 validator behavior customization
Hi all, My project has some Entities stored in Mysql and we are using Hibernate Validator as JSR 303 implementation. My problem is that GWT ServiceLayerDecorator considers that any operations on the database need a complete validation on the objects, even delete (in my case). Maybe it would be nice if we had the possibility to choose *FOR A GIVEN METHOD* declared in a RequestContext to skip the validation and just execute the method, bypassing the validation. (maybe with a *@ValidatorPolicy(ValidatorPolicy.SKIPPED)*) Even if I'm conscious that my DB should not be invalid toward my validators,it is very embarrassing because it need a intervention directly on the DB (validators block the GWT user and even a Administrator could not repair the damages done in the DB through my app). What do you think about this ? -- 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/-/qJfh_gGGi4IJ. 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 2 Servlet
Hi foks, I wish to have GWT component talk to a Servlet. Any quick suggestion? Thanks Naveen Gayar -- 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 Servlet
See http://code.google.com/intl/es-419/webtoolkit/doc/latest/DevGuideServerCommunication.html 2011/9/30 Navindian navind...@gmail.com Hi foks, I wish to have GWT component talk to a Servlet. Any quick suggestion? Thanks Naveen Gayar -- 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 Developer Plugin for Firefox 7
It works for me too. Ubuntu 11.04 x86_64 But I got xullrunner 7.0.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-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: Module Load Failure with GWT 2.4.0 (but not with 2.3.0)
See this pom.xmlhttp://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/mobilewebapp/pom.xml and fow define gwt-maven-plugin. PD: The gwt-user jar you must put in scope provided. 2011/9/30 K H kon...@gmx.at I use GWT with Maven and with GWT 2.3.0, mvn clean gwt:run works without problems. When I upgrade to GWT 2.4.0 however, I get an Module Load Error (see linked image). The GWT Version is controled by the following excerpt from my pom.xml: dependency groupIdcom.google.gwt/groupId artifactIdgwt-servlet/artifactId version${gwtVersion}/version /dependency dependency groupIdcom.google.gwt/groupId artifactIdgwt-user/artifactId version${gwtVersion}/version scopecompile/scope /dependency gwtVersion is defined as either 2.3.0 or 2.4.0. How can I get rid of the error while still using an up-to-date GWT? -- 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/-/vcVn_DsuzLEJ. 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.
GWT 2.4 CellTable issue
Upgrading from GWT 2.3 to 2.4 caused a client-side exception in a class of mine that extends CellTable. There has been no loss of functionality, but the exception is a constant development annoyance. com.google.gwt.core.client.JavaScriptException: (TypeError): this.insertBefore is not a function I’ve identified the line that causes this, though the exception doesn't get thrown until the table is rendering later. In a row change handler, MyCellTable removes the header Element when there are no rows in the CellTable. Here's the code from inside the RowCountChangeEvent: if (event.getNewRowCount() == 0) { NodeListElement els = getElement().getElementsByTagName(THEAD); if (els.getLength() == 0) { return; } Element headerElement = els.getItem(0); headerElement.removeFromParent(); } Downgrading to GWT 2.3 fixes the problem. I tried calling headerElement.setAttribute(style, display: none) instead of removing the element, but that doesn't look the same (it still keeps a few pixels there). I'm aware that creating a CellTable and then ripping out pieces of it is probably a bad practice. Are there any known changes in GWT 2.4 that could be causing this problem? Can anyone think of a workaround? -- 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 and IE8
to add some more information: I think there is something wrong with the cache. Because when I clear the cache, then it works. But then when I visit the page once again, I get the java script error. And then, when I click on the refresh button of the IE Browser, it works again. On Sep 30, 3:12 pm, mkn m.kho...@gmail.com wrote: No, it'll be worse. Juan Pablo asked you *whether* you were doing such things (because that could have triggered the issue), not that you change you module. So the answer would be no, I haven't modified anything. How can I found out what this function does (because obviously it throws the Exception): function entry_0(jsFunction){ return function(){ try { return entry0(jsFunction, this, arguments); } catch (e) { throw e; } } ; } On Sep 30, 10:45 am, Thomas Broyer t.bro...@gmail.com wrote: On Friday, September 30, 2011 9:02:46 AM UTC+2, mkn wrote: Now I have only the line: set-property name=user.agent value=gecko1_8/ I'm not so sure why this should fix the problem. No, it'll be worse. Juan Pablo asked you *whether* you were doing such things (because that could have triggered the issue), not that you change you module. By specifying that line I speed up the compiler because it doesn't compile all the versions anymore. If run my application in IE8 now, then I just see a blank page and no sign indicating any java script errors. However, when I click on the refresh button. I get an error box with message: ERROR: Possible problem with your *.gwt.xml module file. The compile time user.agent value (gecko1_8) does not match the runtime user.agent value (ie8). Expect more errors. Yes, you only compiled for Firefox, so its' no longer working in other browsers (IE, Chrome/Safari, Opera) P.S. If it helps you I can send you the link to the application. That could help, yes. -- 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 Developer Plugin for Firefox 7
Can you upload it to svn or somewhere? 2011/9/30 wbabachan wbabac...@googlemail.com It works for me too. Ubuntu 11.04 x86_64 But I got xullrunner 7.0.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-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.
visualization API and Shape Markers Option
Hi to all, i want to use Shape markers described in this http://code.google.com/intl/it-IT/apis/chart/image/docs/gallery/line_charts.html#gcharts_background_fills I can't succeed to use Options class to set the property chm to use markers like arrow, USAGE chm= [@]marker_type,color,series_index,opt_which_points,size,opt_z_order,opt_offset I tryed this code LineChart.Options options = LineChart.Options.create(); options.setWidth(800); options.setHeight(540); options.setTitle(PREM); options.set(chm, c,FF,0,1.0,20.0); return options; It doesn't works. Can anyone help me? thaks -- 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.
ScrollPanel
Hi, I should like to customize a ScrollPanel, and particulary the scrollbar in order to have a beautiful scollbar. For example: remove the 2 buttons for the vertical scrollbar(top and bottom) or change the background color of the scrollbar -- 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.
CellSampler
I'd like to reiterate the sentiment in this message: http://groups.google.com/group/google-web-toolkit/browse_frm/thread/34aaaefe6c35a7f5/ed4fb0378cbf88d2?lnk=gstq=cellsampler#ed4fb0378cbf88d2 The CellSampler code is difficult to understand. The sample is here: http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellSampler I'm not even sure if it will compile. It refers to a DataGrid, which I can not find anywhere. It also refers to a CategoryChange class, which I can not find. Has this been kept up to date? Where can I find DataGrid and CategoryChange? They don't appear in the gwt javadoc. This would be a great example if it were simpler to understand. 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-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 Designer and Google Maps
In general, you can add new GWT widgets to the palette by using the palette context menuhttp://code.google.com/javadevtools/wbpro/userinterface/palette_context_menu.htmlor the Palette Managerhttp://code.google.com/javadevtools/wbpro/userinterface/palette_manager.html . http://code.google.com/javadevtools/wbpro/userinterface/images/palette_context_menu2.png -- 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/-/vR3XcjdkD7gJ. 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: CellSampler
DataGrid is from GWT 2.4: http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/cellview/client/DataGrid.html Everything else is in the sample's code (PendingChange, BirthdayChange, CategoryChange, etc.) or in the ContactDatabase.java (Category, ContactInfo, DatabaseConstants) -- 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/-/b7SKhrErJRAJ. 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: RequestFactory and JSR 303 validator behavior customization
You can turn validation off (or customize it) in RF using a ServiceLayerDecorator. If you want, using the same approach, you could also implement some kind of validate the arguments of this method before calling it (triggered, or disabled, by an annotation on the method) but then you couldn't trigger an onConstraintViolations on the client, only an onFailure for that particular invocation. -- 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/-/685mmVl8tIsJ. 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: Add style for even row and add row in cellTable.
If you use a global CSS file, you can do this: .cellTable tr : even { color: red; } Similarly for odd rows. Then all you need is to assign cellTable style to your table. -- 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.
UiBinder Maps
Hi I'm trying to use Google Maps in my project so I add inherits name='com.google.gwt.maps.GoogleMaps' / in the gwt.xml file. I use deferred binding for create the UI and the View.ui.xml file's code is: !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 xmlns:p1=urn:import:com.google.gwt.user.cellview.client xmlns:p2=urn:import:com.google.gwt.maps.client ui:style .important { font-weight: bold; } /ui:style g:VerticalPanel ui:field=rootPanel width=100% height=100% p2:MapWidget ui:field='map' / /g:VerticalPanel /ui:UiBinder The View.java file's code is: import com.google.gwt.core.client.GWT; import com.google.gwt.maps.client.MapWidget; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.MenuBar; import com.google.gwt.user.cellview.client.CellTable; public class View extends Composite { private static ViewUiBinder uiBinder = GWT .create(ViewUiBinder.class); @UiField VerticalPanel rootPanel; @UiField MapWidget map; interface ViewUiBinder extends UiBinderWidget, View { } public View() { initWidget(uiBinder.createAndBindUi(this)); } } The problem is when i switch from the code view to the design view elipse show me this error: Error loading module(s). GWT Designer can't load a module because of error in gwt.xml module description, incorrect resource which requires processing with GWT generator or by some other configuration error. Please check your $project_dir/.gwt/.gwt-log for GWT-specific errors. This log has the following error messages: [ERROR] Failed to create an instance of 'com.google.gwt.maps.client.MapWidget' via deferred binding Show stack trace. Hide stack trace. Stack trace: org.eclipse.wb.internal.core.utils.exception.DesignerException: 4108 (Error loading module(s).). [ERROR] Failed to create an instance of 'com.google.gwt.maps.client.MapWidget' via deferred binding. The Google Maps API's version is gwt-maps-1.1.1-rc1.jar. I would like to know what I doing wrong.?? Is the Google Maps API version the lastest version?? 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.
Testing GWT Touch in Android browsers
I put together a simple applet implementing Touch-related event handlers on a Canvas element, to test support for Touch in various browsers on my Android Honeycomb tablet (Toshiba Thrive). I posted the results on my Wordpress blog: http://cs.jsu.edu/wordpress/?p=346 I was actually somewhat shocked at how bad the results were: of 5 browsers tested (counting Firefox and Firefox Beta separately even though they behaved identically), none got everything right and only 1 browser, the (Chrome-based) default Android browser, passed 3 out of 4 of my tests. Firefox only passed 1 test, and Opera failed every test. None of the browsers passed the last test, but to be honest, I can't really say it was a fair test, since the problem may not even be the browsers. I set up the Canvas to respond also to mouse events, with a visual difference between mouse events and touch events, then tried to use a Bluetooth mouse with the Canvas. All of the browsers seemed to treat the mouse events as single-touch events. The OS may be sending these to the browser as touch events, though. I would like to pass these results along to some of the browser development forums, too, but I'm not sure which forums would be appropriate. -- 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: [RequestFactory] Updating a proxy
On 30 September 2011 00:54, Thomas Broyer t.bro...@gmail.com wrote: Why would BasicUserService ( = GizmoService?) be called if you invoke UserRequest#persist(UserProxy) ( = ThingRequest#persist(ThingProxy) ?) Because BasicUserProxy is part of UserProxy. It's hard to follow what you're expecting given that you switched from thing/gizmo/setSomething to [something-else]/user/basicUser/set[what?] I wanted to keep it generic but see below. Could you post the actual code that led to the request whose payload you posted already? Here you go: final UserRequest userRequest = domainRequestApi.getRequestBuilder().newUserRequest(); final UserProxy mutableUser = userRequest.edit(domainRequestApi.getCache().getCurrentUser()); final BasicUserProxy mutableBasicUser = mutableUser.getBasicUser(); final int level = mutableBasicUser.getLevel(); final int basicCurrencyDelta = ...; final int premiumCurrencyDelta = ...; final int newLevel = level + 1; final String comment = Level Up to Level + newLevel + .; mutableBasicUser.setLevel(newLevel); final ReceiverInteger levelUpReceiver = new LevelUpReceiver(..., mutableUser, comment, basicCurrencyDelta, premiumCurrencyDelta); userRequest.persist(mutableUser).fire(levelUpReceiver); LevelUpReceiver's onSuccess simply fires some events, including one that sends out the by then presumably updated UserProxy (hence the mutableUser in the constructor). Given that BasicUserProxy is part of UserProxy, I would expect its changes to be stored, i.e. I expect the entire object graph that is UserProxy to be stored (as necessary). Just to be complete: @ProxyForName(value = com.company.domain.api.User, locator = com.company.domain.service.api.UserService) public interface UserProxy extends EntityProxy { BasicUserProxy getBasicUser(); void setBasicUser(BasicUserProxy basicUser); ... a few others ... } @ProxyForName(value = com.company.domain.api.BasicUser, locator = com.company.domain.service.api.BasicUserService) public interface BasicUserProxy extends EntityProxy { int getLevel(); void setLevel(int level); ... a few others ... } In very short pseudo code, what I want to happen is the following: User.BasicUser.Level := User.BasicUser.Level + 1; Persist User (or BasicUser, I don't care); Make sure that User.BasicUser.Level == BasicUser.Level, i.e. User's BasicUser should be the newly updated one. (I've tried persisting User but then BasicUser's changes are ignored; persisting BasicUser works but then User references an outdated BasicUser; I tried using the Editor framework but that didn't make any difference either.) -- 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 and IE8
Okay after hours for trying out different things I found out that the problem should be something with RPC calls. So if a RPC call is being executed I get the java script error. Then I reload the the site and execute the RPC call again = it works. I hope someone can help me further. On Sep 30, 4:44 pm, mkn m.kho...@gmail.com wrote: to add some more information: I think there is something wrong with the cache. Because when I clear the cache, then it works. But then when I visit the page once again, I get the java script error. And then, when I click on the refresh button of the IE Browser, it works again. On Sep 30, 3:12 pm, mkn m.kho...@gmail.com wrote: No, it'll be worse. Juan Pablo asked you *whether* you were doing such things (because that could have triggered the issue), not that you change you module. So the answer would be no, I haven't modified anything. How can I found out what this function does (because obviously it throws the Exception): function entry_0(jsFunction){ return function(){ try { return entry0(jsFunction, this, arguments); } catch (e) { throw e; } } ; } On Sep 30, 10:45 am, Thomas Broyer t.bro...@gmail.com wrote: On Friday, September 30, 2011 9:02:46 AM UTC+2, mkn wrote: Now I have only the line: set-property name=user.agent value=gecko1_8/ I'm not so sure why this should fix the problem. No, it'll be worse. Juan Pablo asked you *whether* you were doing such things (because that could have triggered the issue), not that you change you module. By specifying that line I speed up the compiler because it doesn't compile all the versions anymore. If run my application in IE8 now, then I just see a blank page and no sign indicating any java script errors. However, when I click on the refresh button. I get an error box with message: ERROR: Possible problem with your *.gwt.xml module file. The compile time user.agent value (gecko1_8) does not match the runtime user.agent value (ie8). Expect more errors. Yes, you only compiled for Firefox, so its' no longer working in other browsers (IE, Chrome/Safari, Opera) P.S. If it helps you I can send you the link to the application. That could help, yes. -- 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.4 CellTable issue
Here's a better example: Running this code works fine in GWT 2.3 but throws the exception in GWT 2.4 CellTableString table = new CellTableString(); table.addColumn(new TextColumnString() { @Override public String getValue(String object) { return object; } }, Col); ListString list = new ArrayListString(); list.add(abc); list.add(def); table.setRowData(list); NodeListElement els = table.getElement().getElementsByTagName(THEAD); if (els.getLength() == 0) { return; } final Element e = els.getItem(0); e.removeFromParent(); -- 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 Tutorial, and then ? How to learn reald world GWT development
Hi everyone, I want to learn how to use GWT for professionnal apps. So, I have followed the tutorial[1] and Googled a lot until found some interesting resources. Especially the presentation from ray Ryan at Google IO 09 Google Web Toolkit Architecture: Best Practices For Architecting Your GWT App[2] and a documentation page about GWT Development with Activities and Places[3]. I like the presentation of Ray Ryan (first link) but I hope that the Command pattern isn't too old. I have also flew over the second link but my first impression is that the system is a little more complex and maybe less testable than the first technology. So I ask experts (you) what technologies they would recommend me Also, I will ask you for a book because I have read free chapters of books listed on the GWT page[4] and many of them seems to be writen for oldest versions of GWT. Thanks [1] http://code.google.com/intl/fr-FR/webtoolkit/doc/latest/tutorial/ [2] http://www.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html [3] http://code.google.com/intl/fr-FR/webtoolkit/doc/latest/DevGuideMvpActivitiesAndPlaces.html#ClientFactory [4] http://code.google.com/intl/fr-FR/webtoolkit/books.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.
Any decent java.util.Calendar, Locale, TimeZone emulation?
Does anyone know of any decent libraries to emulate the above classes? So far I've found this: http://code.google.com/p/gwt-calendar-class/ ...but it doesn't appear to be quite complete and I'm having trouble making it work. Anyone know of anything else? (This is to make existing code work, so switching to a different date library won't help, I'm afraid.) -- ┌─── dg@cowlark.com ─ http://www.cowlark.com ─ │ │ Under communism, man exploits man. Under capitalism, it's just the │ opposite. --- John Kenneth Galbrith signature.asc Description: OpenPGP digital signature
Re: Any decent java.util.Calendar, Locale, TimeZone emulation?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 no. i tried, believe me. Am 30.09.2011 23:31, schrieb David Given: Does anyone know of any decent libraries to emulate the above classes? So far I've found this: http://code.google.com/p/gwt-calendar-class/ ...but it doesn't appear to be quite complete and I'm having trouble making it work. Anyone know of anything else? (This is to make existing code work, so switching to a different date library won't help, I'm afraid.) - -- -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.14 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJOhjYaAAoJENRtux+h35aGawEP/A6as/MEcaYzdHUsmn7zFGr6 u958Ewmrbx89kaklzsACTbGZ6OC1PNwaq/WYI7Zx/MEwl3xlJehICkATr5IJ3lHM IbjNkQnvlUjiIzVK5bzD5kFAjMK8Fm14SoUBLhIBoFA/fDMFKpQCtUoKP1vkip6D dY5ISiE/kMkJkx9cYMcjgCO0RICAGpdOm/KZ3C/W2ADHQzsXlfYXVmkD/9mzg9WR QZw8ddo7SNEoytQ+cqT0QCRorhYpuHzHklyYY4wV0wPEl87BgyFefN5M9/U0Uh7Q qK8xgAqVxzaunjrsrqXAkaf/gsAzgOoYE+KTdL1aAeZAvNBARBTNkrHv1ZXzHuQ+ ECoy4Gqr9f9v8EXQRIC+ItOxXBDbDpTMRvmeIWYWNIB1QAuqPtcM5m1UES48cRNe 5h6tK9pOXdIPi/2wzYuwj8ekTOfniENvvZ1WrU6Vfa96dBCOFjQY+iigHRXSfvu8 bjOReZb2DFWrMnb4SfuIyIZNnc+ww5cAU/s8T7BATieWEOm72rBN3Y2rXTbZrCRi 7sTkZaqc3WZfYcVGeVwckel/piYyitLMThhLr1Sfx7+jZ2ZcJvU3AYv6aPfe2b84 GvNfr/Zk0N3/gqK5eErq+yp1O4/74Um4lMK0RjcsTj5SIYxSYfDNxOu1V2Gggihs CJ6QqmcC5diCgWiKAhuJ =E1TZ -END PGP SIGNATURE- -- 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: [RequestFactory] Updating a proxy
On Friday, September 30, 2011 9:26:22 PM UTC+2, Hilco Wijbenga wrote: On 30 September 2011 00:54, Thomas Broyer t.br...@gmail.com wrote: Why would BasicUserService ( = GizmoService?) be called if you invoke UserRequest#persist(UserProxy) ( = ThingRequest#persist(ThingProxy) ?) Because BasicUserProxy is part of UserProxy. If you call a method on UserRequest, the equivalent method will be called on its @Service (i.e. UserService), and no other service method will be called. If you call setters on proxies (UserProxy, BasicUserProxy), the equivalent setters are called on their @ProxyFor (User, BasicUser). The only special namings RequestFactory uses are the static findXxx(), and the getId() and getVersion() methods; and only if you do not use a Locator. A method called persist is in no way a special method. What I mean is that calling UserRequest#persist(UserProxy) cannot imply a call to, say, BasicUserService#persist(BasicUser) on the server; only UserService#persist(User) will be called. It's hard to follow what you're expecting given that you switched from thing/gizmo/setSomething to [something-else]/user/basicUser/set[what?] I wanted to keep it generic but see below. Could you post the actual code that led to the request whose payload you posted already? Here you go: final UserRequest userRequest = domainRequestApi.getRequestBuilder().newUserRequest(); final UserProxy mutableUser = userRequest.edit(domainRequestApi.getCache().getCurrentUser()); final BasicUserProxy mutableBasicUser = mutableUser.getBasicUser(); final int level = mutableBasicUser.getLevel(); final int basicCurrencyDelta = ...; final int premiumCurrencyDelta = ...; final int newLevel = level + 1; final String comment = Level Up to Level + newLevel + .; mutableBasicUser.setLevel(newLevel); final ReceiverInteger levelUpReceiver = new LevelUpReceiver(..., mutableUser, comment, basicCurrencyDelta, premiumCurrencyDelta); userRequest.persist(mutableUser).fire(levelUpReceiver); What's strange is that there's a comment: Level Up to Level 1. in the JSON payload of the request, while I don't see a setComment() above; and there's no level:1 while there is a setLevel(newLevel). Given that BasicUserProxy is part of UserProxy, I would expect its changes to be stored, i.e. I expect the entire object graph that is UserProxy to be stored (as necessary). What do you mean exactly by stored? What RequestFactory will do on the server side is: 1. get User and BasicUser (and others, as needed) by their ID 2. apply the diff from the request to these objects, by calling the appropriate setters. 3. call the service methods; here, call UserService#persist(User) with the User instance modified above So actually persisting the entire object graph is up to the UserService#persist(User) method; as the doc says: “RequestFactory automatically sends the whole object graph in a single request. In this case, the implementation of Person.persist() on the server is responsible for persisting the related Address also, which may or may not happen automatically, depending on the ORM framework and how the relationship is defined.” (the part about @Embedded objects not being supported is no longer true since GWT 2.1.1 and the introduction of ValueProxy; but that doesn't apply here) — http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html#relationships So, is your problem that BasicUser is not persisted? or that the User#getBasicUser() passed to the persist() method doesn't have its level modified? Or is your issue that domainRequestApi.getCache().getCurrentUser() doesn't reflect the change? In that case, then unless you, somewhere, setCurrentUser with the mutableUser, that's normal: immutable proxies are never updated, they're immutable snapshots. -- 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/-/IeWUYjioA48J. 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: [RequestFactory] Updating a proxy
On 30 September 2011 15:08, Thomas Broyer t.bro...@gmail.com wrote: On Friday, September 30, 2011 9:26:22 PM UTC+2, Hilco Wijbenga wrote: On 30 September 2011 00:54, Thomas Broyer t.br...@gmail.com wrote: Why would BasicUserService ( = GizmoService?) be called if you invoke UserRequest#persist(UserProxy) ( = ThingRequest#persist(ThingProxy) ?) Because BasicUserProxy is part of UserProxy. If you call a method on UserRequest, the equivalent method will be called on its @Service (i.e. UserService), and no other service method will be called. If you call setters on proxies (UserProxy, BasicUserProxy), the equivalent setters are called on their @ProxyFor (User, BasicUser). The only special namings RequestFactory uses are the static findXxx(), and the getId() and getVersion() methods; and only if you do not use a Locator. A method called persist is in no way a special method. What I mean is that calling UserRequest#persist(UserProxy) cannot imply a call to, say, BasicUserService#persist(BasicUser) on the server; only UserService#persist(User) will be called. It's hard to follow what you're expecting given that you switched from thing/gizmo/setSomething to [something-else]/user/basicUser/set[what?] I wanted to keep it generic but see below. Could you post the actual code that led to the request whose payload you posted already? Here you go: final UserRequest userRequest = domainRequestApi.getRequestBuilder().newUserRequest(); final UserProxy mutableUser = userRequest.edit(domainRequestApi.getCache().getCurrentUser()); final BasicUserProxy mutableBasicUser = mutableUser.getBasicUser(); final int level = mutableBasicUser.getLevel(); final int basicCurrencyDelta = ...; final int premiumCurrencyDelta = ...; final int newLevel = level + 1; final String comment = Level Up to Level + newLevel + .; mutableBasicUser.setLevel(newLevel); final ReceiverInteger levelUpReceiver = new LevelUpReceiver(..., mutableUser, comment, basicCurrencyDelta, premiumCurrencyDelta); userRequest.persist(mutableUser).fire(levelUpReceiver); What's strange is that there's a comment: Level Up to Level 1. in the JSON payload of the request, while I don't see a setComment() above; and there's no level:1 while there is a setLevel(newLevel). :-) I apologise for comment, that's being done by a separate event. The JSON you see contains two proxies going to the server. I didn't want to change the JSON as I was not clear on the exact dependencies. I've wondered about the missing level:1 as well. I know I've seen it once but that may have been when I was persisting BasicUser directly. Given that BasicUserProxy is part of UserProxy, I would expect its changes to be stored, i.e. I expect the entire object graph that is UserProxy to be stored (as necessary). What do you mean exactly by stored? What RequestFactory will do on the server side is: I mean persisting it in the database. get User and BasicUser (and others, as needed) by their ID apply the diff from the request to these objects, by calling the appropriate setters. call the service methods; here, call UserService#persist(User) with the User instance modified above Yeah, I had assumed it would call BasicUserService#persist(BasicUser) as well. So actually persisting the entire object graph is up to the UserService#persist(User) method; as the doc says: “RequestFactory automatically sends the whole object graph in a single request. In this case, the implementation of Person.persist() on the server is responsible for persisting the related Address also, which may or may not happen automatically, depending on the ORM framework and how the relationship is defined.” (the part about @Embedded objects not being supported is no longer true since GWT 2.1.1 and the introduction of ValueProxy; but that doesn't apply here) — http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html#relationships All right, I guess I was expecting too much. So, is your problem that BasicUser is not persisted? or that the User#getBasicUser() passed to the persist() method doesn't have its level modified? Or is your issue that domainRequestApi.getCache().getCurrentUser() doesn't reflect the change? In that case, then unless you, somewhere, setCurrentUser with the mutableUser, that's normal: immutable proxies are never updated, they're immutable snapshots. I have User cached and User contains BasicUser. I want BasicUser updated on the server and I want that change reflected in User (so User.getBasicUser().getLevel() should yield the new level). This seems impossible without rerequesting the entire User object graph from the server. That's very expensive and totally unnecessary (in the sense that all information is already available on the client). But I don't see how I can update the cached User with the new BasicUser. I can't call setBasicUser on User because it's frozen. So given what you've told me above, my question
Re: [RequestFactory] Updating a proxy
If you edit() and persist User (what you did in the code sample you sent), then the mutableUser will be frozen at the time you fire() the request, and if all goes well (i.e. in the Receiver's onSuccess), you could then just use the mutableUser instance as your new cached user. -- 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/-/fjBBJHQMHdoJ. 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: [RequestFactory] Updating a proxy
On 30 September 2011 16:08, Thomas Broyer t.bro...@gmail.com wrote: If you edit() and persist User (what you did in the code sample you sent), then the mutableUser will be frozen at the time you fire() the request, and if all goes well (i.e. in the Receiver's onSuccess), you could then just use the mutableUser instance as your new cached user. :-) Yes, but then BasicUser doesn't get persisted which was the whole point of the operation. And server side [i.e. in UserService#persist(User)] I have no idea what changed in User (only RF would know that). I really don't want to have save the entire User graph just to update one integer. What I've got working now is persisting BasicUser and requesting User from the server afterwards. Very expensive and wasteful but at least that works. Surely there must be a better way? -- 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: syncProxy + Xsrf
Just for the record, I guess the underlying issue is that syncProxy uses interfaceWhateverService extends XsrfProtectedService and does not use WhateverServiceAsyn that gets created by GWT.create(). I gave up on syncProxy and will use the appengine remote api instead http://code.google.com/appengine/docs/java/tools/remoteapi.html Shawn -- 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-contrib] Re: Comment on RequestFactory_2_5 in google-web-toolkit
Comment by seq...@gmail.com: Issue 6705 was released in GWT 2.4. May be we need to move corresponding line in this overview to RequestFactory_2_4 page. For more information: http://code.google.com/p/google-web-toolkit/wiki/RequestFactory_2_5 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Any interest in having css3pie integrated with GWT?
If ie8 and 9 didn't need a bunch of heavy lifting to get all of the advantages of css3 styles, then you would probably be right, but unfortunatetly, ie10 is going to be when ie finally starts meeting the standards. The point is semi-moot. I've started a project http://code.google.com/p/gwt-css3-pie/ But if you google guys want a patch to integrate this into gwt, let me know. I'd probably do it a bit different the second time. I think I've got a better handle on the CssResource apis and know a better way to do it. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Re: Any interest in having css3pie integrated with GWT?
I hope IE7 will not be dropped in short term. That would be dramatic for GWT apps that are used in the enterprise environments. In our case our customers are already very annoyed that we can not support IE6 decently enough. David On Thu, Sep 29, 2011 at 6:21 PM, Jens jens.nehlme...@gmail.com wrote: -1 I would not pull this into GWT. I think its better when you create a custom project like gwt-pie or something that developers can use or not use. In my opinion GWT should drop IE6 (and IE7) support in the near future. These browsers are so old (10 and 5 years) and their JavaScript engines are really slow. It really doesn't make sense to build a complex web application which supports IE6 and IE7, it will cost too much developer ressources. If you pull in PIE into GWT you will have an additional reason to support both browsers for years. I mean.. can you watch a full HD movie on 10 years old hardware? I don't think so. On 5 years old hardware? Probably but maybe stuttering. Its the same with browsers and web applications. People/Companies should definitely upgrade to at least IE8. If they don't they just can't use/enjoy new technologies. So before using CSS PIE I think its just better to not use CSS3 for old browsers at all, only use it for browsers that support CSS3 natively (and I think thats the same way the new clean style of GWT works). That way customers actually see the difference in design between old and new browsers and actually see a reason to upgrade their old browsers. -- J. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Gives CellTable an option to disable colgroup and/or don't attach the message (issue1557804)
LGTM Your call on whether or not you agree with the comments. http://gwt-code-reviews.appspot.com/1557804/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java File user/src/com/google/gwt/user/cellview/client/CellTable.java (right): http://gwt-code-reviews.appspot.com/1557804/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode502 user/src/com/google/gwt/user/cellview/client/CellTable.java:502: private final boolean colGroupEnabled; I suggest switching this to colgroupDisabled so it initializes to false, which makes it enabled. http://gwt-code-reviews.appspot.com/1557804/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode541 user/src/com/google/gwt/user/cellview/client/CellTable.java:541: extra spaces http://gwt-code-reviews.appspot.com/1557804/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode717 user/src/com/google/gwt/user/cellview/client/CellTable.java:717: if (!colGroupEnabled) { You can abstract all of these checks to a private method like assertColumnGroupEnabled(String message). http://gwt-code-reviews.appspot.com/1557804/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode814 user/src/com/google/gwt/user/cellview/client/CellTable.java:814: // enabled), and refreshColumnWidth/clearColumnWidth. The later two are no op if setColumnWidth later/latter http://gwt-code-reviews.appspot.com/1557804/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r10675 committed - Exporting a map of obfuscated CSS names to full class names into a bui...
Revision: 10675 Author: mlow...@google.com Date: Fri Sep 30 10:03:13 2011 Log: Exporting a map of obfuscated CSS names to full class names into a build artifact CSV file. This will allow CSS names to be found in the DOM for frontend testing. Review by: unn...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=10675 Added: /trunk/user/test/com/google/gwt/resources/rg/CssOutputTestCase.java Modified: /trunk/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java /trunk/user/test/com/google/gwt/resources/ResourcesSuite.java === --- /dev/null +++ /trunk/user/test/com/google/gwt/resources/rg/CssOutputTestCase.java Fri Sep 30 10:03:13 2011 @@ -0,0 +1,200 @@ +/* + * Copyright 2011 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.resources.rg; + +import com.google.gwt.core.ext.GeneratorContext; +import com.google.gwt.core.ext.UnableToCompleteException; +import com.google.gwt.core.ext.linker.GeneratedResource; +import com.google.gwt.core.ext.typeinfo.JClassType; +import com.google.gwt.core.ext.typeinfo.JMethod; +import com.google.gwt.dev.util.UnitTestTreeLogger; +import com.google.gwt.resources.ext.ResourceContext; + +import junit.framework.TestCase; + +import org.easymock.EasyMock; + +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Tests output functions. + */ +public class CssOutputTestCase extends TestCase { + + public void testOutputCssMapArtifact() throws UnableToCompleteException { +UnitTestTreeLogger testLogger = new UnitTestTreeLogger.Builder().createLogger(); +ResourceContext mockResourceContext = EasyMock.createMock(ResourceContext.class); +MapJMethod, String testMap = new HashMapJMethod, String(); +OutputStream mockOutputStream = EasyMock.createMock(OutputStream.class); +GeneratorContext mockGeneratorContext = EasyMock.createMock(GeneratorContext.class); +GeneratedResource mockGeneratedResource = EasyMock.createMock(GeneratedResource.class); + + EasyMock.expect(mockResourceContext.getGeneratorContext()).andReturn(mockGeneratorContext); +EasyMock.expectLastCall().times(2); +EasyMock.expect(mockGeneratorContext.tryCreateResource( + testLogger, cssResource/test-file-name.cssmap)).andReturn(mockOutputStream); +EasyMock.expect(mockGeneratorContext.commitResource(testLogger, mockOutputStream)).andReturn( +mockGeneratedResource); +EasyMock.replay(mockResourceContext); +EasyMock.replay(mockGeneratorContext); + +CssResourceGenerator crg = new CssResourceGenerator(); +crg.outputCssMapArtifact(testLogger, mockResourceContext, testMap, test-file-name); + +testLogger.assertCorrectLogEntries(); +EasyMock.verify(mockResourceContext); +EasyMock.verify(mockGeneratorContext); + } + + public void testOutputCssMapArtifactThrowOnTryCreateResource() throws UnableToCompleteException { +UnitTestTreeLogger.Builder builder = new UnitTestTreeLogger.Builder(); +builder.expectError(Could not create resource: cssResource/test-file2.cssmap, null); +UnitTestTreeLogger testLogger = builder.createLogger(); +ResourceContext mockResourceContext = EasyMock.createMock(ResourceContext.class); +MapJMethod, String testMap = new HashMapJMethod, String(); +OutputStream mockOutputStream = EasyMock.createMock(OutputStream.class); +GeneratorContext mockGeneratorContext = EasyMock.createMock(GeneratorContext.class); +GeneratedResource mockGeneratedResource = EasyMock.createMock(GeneratedResource.class); + + EasyMock.expect(mockResourceContext.getGeneratorContext()).andReturn(mockGeneratorContext); +EasyMock.expect(mockGeneratorContext.tryCreateResource( +testLogger, cssResource/test-file2.cssmap)).andThrow(new UnableToCompleteException()); +EasyMock.replay(mockResourceContext); +EasyMock.replay(mockGeneratorContext); + +CssResourceGenerator crg = new CssResourceGenerator(); +crg.outputCssMapArtifact(testLogger, mockResourceContext, testMap, test-file2); + +testLogger.assertCorrectLogEntries(); +EasyMock.verify(mockResourceContext); +EasyMock.verify(mockGeneratorContext); + } + + public void testOutputCssMapArtifactReturnNullOutputString() throws UnableToCompleteException { +
[gwt-contrib] [google-web-toolkit] r10676 committed - Gives CellTable an option to disable colgroup and/or don't attach the ...
Revision: 10676 Author: gwt.mirror...@gmail.com Date: Fri Sep 30 15:13:14 2011 Log: Gives CellTable an option to disable colgroup and/or don't attach the message panel. Disabling both leads to 50% faster layout time in IE (about 25% each). The side effects are 1. Disabling colgroup will break fixed layout table with explicitly set column width, and when styles are added to colgroup element. Therefore this is turned off by default. Various checks are added to make sure setColumnWidth and setTableLayoutFixed(true) are not called when colgroup is disabled. 2. If the message panel is not attached to the table, loading indicator and empty table widget are not displayed. Therefore this optimization is turned off by default as well. A new method is added to get the message panel so that callers can attach it to outside the table element. Note, disabling colgroup also results in a very small gain in Firefox, Chrome and Safari (around 5%). In addition, having the message panel attached to the table itself actually results in better layout performance in Chrome/Safari. It's recommended to leave inside the table for non-IE browsers. Review at http://gwt-code-reviews.appspot.com/1557804 Review by: jlaba...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=10676 Modified: /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java === --- /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java Tue Sep 20 12:53:34 2011 +++ /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java Fri Sep 30 15:13:14 2011 @@ -499,6 +499,7 @@ private final TableCellElement tbodyLoadingCell; private final TableSectionElement tfoot; private final TableSectionElement thead; + private boolean colGroupEnabled = true; /** * Constructs a table with a default page size of 15. @@ -576,15 +577,46 @@ */ public CellTable(final int pageSize, Resources resources, ProvidesKeyT keyProvider, Widget loadingIndicator) { +this(pageSize, resources, keyProvider, loadingIndicator, true, true); + } + + /** + * Constructs a table with the specified page size, {@link Resources}, key + * provider, and loading indicator. + * + * @param pageSize the page size + * @param resources the resources to use for this widget + * @param keyProvider an instance of ProvidesKeyT, or null if the record + * object should act as its own key + * @param loadingIndicator the widget to use as a loading indicator, or null + * to disable + * @param enableColGroup enable colgroup element. This is used when the table is using fixed + * layout and when column style is added. Ignoring this element will boost rendering + * performance. Note that when colgroup is disabled, {@link #setColumnWidth}, + * {@link setTableLayoutFixed} and {@link addColumnStyleName} are no longe supported + * @param attachLoadingPanel attaching the table section that contains the empty table widget and + * the loading indicator. Attaching this to the table significantly improve the rendering + * performance in webkit based browsers but also introduces significantly larger latency + * in IE. If the panel is not attached to the table, it won't be displayed. But the user + * can call {@link #getTableLoadingSection} and attach it to other elements outside the + * table element + */ + public CellTable(final int pageSize, Resources resources, ProvidesKeyT keyProvider, + Widget loadingIndicator, boolean enableColGroup, boolean attachLoadingPanel) { super(Document.get().createTableElement(), pageSize, new ResourcesAdapter(resources), keyProvider); this.style = resources.cellTableStyle(); this.style.ensureInjected(); +this.colGroupEnabled = enableColGroup; table = getElement().cast(); table.setCellSpacing(0); -colgroup = Document.get().createColGroupElement(); -table.appendChild(colgroup); +if (enableColGroup) { + colgroup = Document.get().createColGroupElement(); + table.appendChild(colgroup); +} else { + colgroup = null; +} thead = table.createTHead(); // Some browsers create a tbody automatically, others do not. if (table.getTBodies().getLength() 0) { @@ -593,7 +625,10 @@ tbody = Document.get().createTBodyElement(); table.appendChild(tbody); } -table.appendChild(tbodyLoading = Document.get().createTBodyElement()); +tbodyLoading = Document.get().createTBodyElement(); +if (attachLoadingPanel) { + table.appendChild(tbodyLoading); +} tfoot = table.createTFoot(); setStyleName(resources.cellTableStyle().cellTableWidget()); @@ -623,6 +658,7 @@ @Override public void addColumnStyleName(int index, String styleName) { +