Re: Developer plugin for Firefox 23 doesn't work
Same issue here. Updated an hour ago. FF 23.0.1 Scientific Linux 64bit -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Correct way to sink events on UiBinder Element
On Thursday, August 15, 2013 9:59:48 PM UTC+2, Shaun Tarves wrote: I am defining several elements via UiBinder. My understanding is these are created as com.google.gwt.dom.client.Element during the createAndBind call. I would like to add a click handler to one of these elements. Is there any way other than casting those to com.google.gwt.dom.client.Element like this? @UiField Element clickable; DOM.sinkEvents((com.google.gwt.user.client.Element) clickable, Event.ONCLICK); DOM.setEventListener((com.google.gwt.user.client.Element) clickable, new EventListener() { public void onBrowserEvent(Event event) { //TODO: Some code } }); Don't do that, you might leak memory on some browsers (aka, do it at your own risks) Either use widgets or use the event delegation pattern, where your widget listens to events and do one thing or another depending on the event's type and target. For event delegation, using uibinder for cells makes it easier as you can use @UiHandler and let the generator do the routing for you. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: My CellTable is slow and I don't know why
On Sunday, August 11, 2013 12:02:24 PM UTC+2, Nuno Godinho de Matos wrote: It runs the DevMode main class, ture. But I am quite certain mvn gwt:run is fueling me the compiled javascript. The project compilation time is huge for making the gecko_1_3 and safari permutations (since I am testing in both chrome and firefox). What would be the point of compiling all that java into javascript if the gwt:run would later not use the compiled javascript. It depends on your Maven build. Generally, gwt:compile is attached to the prepare-package phase so that it doesn't run when you only need to compile/process-classes like gwt:run does. Moreover, if in the module user.agent property I take away the compilation for gecko, when I load the page with firefox I get alarms that there is no compiled javascript for my user agent. If you don't have the ?gwt.codesvr= in your URL then yes it's possible that you're running the compiled JS code served by the DevMode embedded HTTP server. If you want to run in prod mode, better use mvn jetty:run though. What i am going to check out first is weather or not the dead weight of the cell table is not related to the DOM structure of my GWT components tree. Such as, for example, laying the table within the bootstrap grid model. Potentially, each of these nested page components that are being used for layout or whatever else, are all like the cell table implementation crowing up the application with mouseover, mouseout events. You put the mouse on top of a cell table row, and there goes a mouse over buble up to kingdom come. I am considering that It is possible that this drag on performance has to do with a by default spamming of dom events. Events running from the bottom of the DOM tree up to the very top element, all bubbling and lagging up. So what I am going to try out this time, is to dump the cell table outside the overall page layout, so that there aren't any OnWhatever events to buble up to. Let's see if that is is the problem. And if that is indeed the problem, Christ!, you do have to be ever careful with most of the gwt components you use cause they just booby trap the html elements with events you did not even know where being played out for you. One thing that might help, if you don't need it, is to setSkipRowHoverStyleUpdate(true) and possibly setSkipRowHoverCheck(true) and/or setSkipRowHoverFloatElementCheck(true) -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: bootstrap js file path not added correctly to the html page.
On Saturday, August 10, 2013 10:51:15 PM UTC+2, Amit Chavan wrote: I created a GWT project [without using the option of generate sample code]. I have added Entry Point class, html page, module file. The bootstrap js file is getting generated under war/com.travelpeeps.travelpeeps folder and its name is com.travelpeeps.travelpeeps.nocache.js. When i looked at the htlm file generated by eclipse plugin i did not see the correct name of the bootstrap js file. I had to manually change the filepath to the following under the script tag as script type=text/javascript language=javascript src=com.travelpeeps.travelpeeps/com.travelpeeps.travelpeeps.nocache.js/script Is there a bug open for this behavior. This took me some digging around to understand why my entry point class was not getting called. I don't see this problem when i create a new project and have the plugin generate sample code for the project. The Google Plugin for Eclipse has its own forumhttps://groups.google.com/d/forum/google-plugin-eclipseand issue tracker https://code.google.com/p/google-plugin-for-eclipse/issues/list. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Problem with number in JsValueGlue
Are you running DevMode in Chrome? See https://code.google.com/p/google-web-toolkit/issues/detail?id=5778 On Wednesday, August 7, 2013 12:52:55 PM UTC+2, stole wrote: I am getting this error: java.lang.IllegalArgumentException: invoke arguments: JS value of type number, expected java.lang.Object at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:178) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:65) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) Upon closer examination of the get method of JsValueGlue which looks something like this: public static T T get(JsValue value, CompilingClassLoader cl, ClassT type, String msgPrefix) { if (type.isPrimitive()) { //ommitted for brevity } if (value.isNull() || value.isUndefined()) { return null; } if (value.isWrappedJavaObject()) { return type.cast(value.getWrappedJavaObject()); } if (value.isString()) { return type.cast(value.getString()); } if (value.isJavaScriptObject()) { return type.cast(createJavaScriptObject(value, cl)); } // Just don't know what do to with this. /* * TODO (amitmanjhi): does throwing a HostedModeException here and catching * a RuntimeException in user test * com.google.gwt.dev.jjs.test.HostedTest::testObjectReturns() make sense */ throw new IllegalArgumentException(msgPrefix + : JS value of type + value.getTypeString() + , expected + TypeInfo.getSourceRepresentation(type)); } I saw that there is no check when the value is a number. Not sure if it is a bug in JsValueGlue.get or there is a reason number is excluded. I believe the code misses something like: if (value.isNumber()) { return type.cast(value.getNumber()); } If this is a bug I'd be willing to create an issue and probably a patch if the whole procedure isn't too complicated. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Developer plugin for Firefox 23 doesn't work
Similar issue. FF crashes on startup, reset FF in safe mode solves the issue until gwt plugin is re-installed, then it starts crashing again. Windows 7 64-bit On Friday, August 16, 2013 5:42:01 AM UTC-4, Gražvydas Valeika wrote: Hi, I just updated FF to 23. And I see strange behavior. Developer plugin properly installed and shows version 1.23 and latest update date of today, but while starting DevMode application I'm getting 'Development Mode requires the Google Web Toolkit Developer Plugin' prompt. I'm installing plugin again, FF restarts, but while trying again I am getting plugin install prompt as I wouldn't have plugin installed. :( Fedora 18, 64bit. Thanks, Grazvydas -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
HeaderPanel not setting height of the Content widget
Hi, I am trying to use the HeaderPanel to set a Header/Footer and an resizing ContentPanel (which contains a CellTable). The problem is that unlike other LayoutPanel classes the vertical size is not enforced on the content widget, its width is set to 100% but the height is not set. I don't really want to set width/height to 100% either since that would make it impossible to have a scrollbar. Right now I have a solution in that I override the onResize method of the widget that gets inserted as the content panel. But that is not really nice in a framework where I have lots of reusable widgets, and I don't know which will be inserted in a HeaderPanel or not. Any reason why this Layout Panel is not enforcing the height and width in pixels like other layout panels do on their children ? David -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: HeaderPanel not setting height of the Content widget
On Monday, August 19, 2013 4:06:07 PM UTC+2, stuckagain wrote: Hi, I am trying to use the HeaderPanel to set a Header/Footer and an resizing ContentPanel (which contains a CellTable). The problem is that unlike other LayoutPanel classes the vertical size is not enforced on the content widget, its width is set to 100% but the height is not set. I don't really want to set width/height to 100% either since that would make it impossible to have a scrollbar. Right now I have a solution in that I override the onResize method of the widget that gets inserted as the content panel. But that is not really nice in a framework where I have lots of reusable widgets, and I don't know which will be inserted in a HeaderPanel or not. Any reason why this Layout Panel is not enforcing the height and width in pixels like other layout panels do on their children ? There's a reason for RequiresResize to have an onResize method rather than relying on setSize. One of the goals (expectations? dreams?) of layout panels was that the layout could be done in pure CSS (including animations) and you'd only need to notify widgets when their size has changed (through onResize), something that you know when it happens because the layout is controlled from the outside in (it should only happen the top layout panel is resized, or some panels' inner layout change, or possibly when font sizes or zoom change; there's the case of borders and margins but you're supposed to know what you're doing so you could call onResize or forceLayout then). -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: HeaderPanel not setting height of the Content widget
Thomas, But reality is a bit different, the layout panels are actively changing widget sizes, except the HeaderPanel. Additionally the forceLayout is a private method in this Layout widget, not that it matters to me in this case. But Ok, I have a workaround in that I set the pixel size myself. I created a subclass of HeaderPanel that wraps the content widget in a custom panel that does a setPixelSize on the child when onResize is triggered. It would be nice if the HeaderPanel would have this behaviour ( or even support animation like the other Layout Panels do). David On Mon, Aug 19, 2013 at 4:24 PM, Thomas Broyer t.bro...@gmail.com wrote: On Monday, August 19, 2013 4:06:07 PM UTC+2, stuckagain wrote: Hi, I am trying to use the HeaderPanel to set a Header/Footer and an resizing ContentPanel (which contains a CellTable). The problem is that unlike other LayoutPanel classes the vertical size is not enforced on the content widget, its width is set to 100% but the height is not set. I don't really want to set width/height to 100% either since that would make it impossible to have a scrollbar. Right now I have a solution in that I override the onResize method of the widget that gets inserted as the content panel. But that is not really nice in a framework where I have lots of reusable widgets, and I don't know which will be inserted in a HeaderPanel or not. Any reason why this Layout Panel is not enforcing the height and width in pixels like other layout panels do on their children ? There's a reason for RequiresResize to have an onResize method rather than relying on setSize. One of the goals (expectations? dreams?) of layout panels was that the layout could be done in pure CSS (including animations) and you'd only need to notify widgets when their size has changed (through onResize), something that you know when it happens because the layout is controlled from the outside in (it should only happen the top layout panel is resized, or some panels' inner layout change, or possibly when font sizes or zoom change; there's the case of borders and margins but you're supposed to know what you're doing so you could call onResize or forceLayout then). -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Appearance of extra scroll bar in GWT Datagrid
Hi, Does anyone else see the same issue? Any input is appreciated. Thanks, Harsh On Sat, Aug 10, 2013 at 5:02 PM, Harsh Yadav harsh.de...@gmail.com wrote: Found in GWT 2.5 *Encountered on OS / Browser:* Mac OSX 10.8.4, Chrome, Safari. This is not an issue on Firefox. *Detailed description:* While using the DataGrid, an extra scroll bar is visible. Please find attached a screenshot form the GWT showcase. In my application, I am using DataGrid (http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwDataGrid) combined with LazyScrolling example provided in the showcase (http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCellList). I am using DataGrid in ui binder as: h:LazyDataGrid ui:field=itsCellTable pageSize=30 height=520px width=100% / LazyDataGrid extends DataGrid to expose grid's scroll panel as: public ScrollPanel getScrollPanel() { HeaderPanel header = (HeaderPanel) getWidget(); return (ScrollPanel) header.getContentWidget(); } This results in appearance of an extra (non-functional) scroll bar when the page loads (See attached screenshot). Thanks in advance. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Appearance of extra scroll bar in GWT Datagrid
I can only see the issue happening when the page loads or when changing the browser size which make the second scroll bar appear sometimes. However scrolling itself works as expected. Looks like a weird CustomScrollPanel rendering bug i WebKit/Blink. Not sure if thats caused by GWT code. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: HeaderPanel not setting height of the Content widget
But reality is a bit different, the layout panels are actively changing widget sizes, except the HeaderPanel. This is happening because HeaderPanel isn't a LayoutPanel and does not use one internally. To fully mimic the LayoutPanel behavior you would need to add position:absolute; top, left, right, bottom = 0; to the center container's child widget. This should stretch the child widget to the center container's size which HeaderPanel recalculates on header/footer resizes. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: I'm enhancing GWT to provide Java stack traces for clientside exceptions in production
Hello folks, I just wanted to remind everyone that the last day to fund this project is this Friday, August 23. I've been using this framework in production in my app now for 2 months, and it works great. Have logged 70,000 perfect stack traces so far! Already fixed 3 major bugs in my GWT-based UI code that I would NEVER found otherwise. Let's get this capability into GWT by the end of the year. Please donate! Thanks, Alex On Wednesday, July 17, 2013 4:56:40 PM UTC-4, Alex Epshteyn wrote: Dear fellow GWT users, I would like to announce that I have finally solved what I always thought to be GWT's greatest weakness: its lack of debugging information for client-side exceptions in production. With my patch, your deployed app will be able to report stack traces like this: com.google.gwt.core.client.JavaScriptException: (TypeError) : a is null com.google.gwt.dom.client.DOMImplMozilla.$getBodyOffsetLeft(DOMImplMozilla.java:145) com.google.gwt.user.client.ui.PopupPanel.$setPopupPosition(Document.java:1287) com.google.gwt.user.client.ui.PopupPanel.setPopupPosition(PopupPanel.java:884) com.google.gwt.user.client.ui.PopupPanel.PopupPanel(PopupPanel.java:453) com.typeracer.commons.client.widgets.EnhancedPopup.EnhancedPopup(EnhancedPopup.java:32) com.typeracer.commons.client.widgets.PopupWithIcon.PopupWithIcon(PopupWithFocusableTextBox.java:28) com.typeracer.main.client.controller.TyperacerUncaughtExceptionHandler$1.execute(TyperacerUncaughtExceptionHandler.java:55) com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:50) etc... :-) instead of the current state of affairs that looks like this: lineNumber: 3190 columnNumber: 15354: a is null; (TypeError) fileName: http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html stack: @ http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2422 Rub@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2423 dSb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:3190 tA@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2810 Xmb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2289 etc... :-( I am asking the community to support me in finishing this effort and integrating my patch into GWT. Please take a look and what I've done, and consider making a donation: http://igg.me/at/gwt-stack-traces/x/3494291 I am an indie developer and I just need some funding to continue this work. I'm looking for both grassroots and corporate sponsorship for my quest of improving GWT's error reporting and debugging support. I've written a detailed white paper ( http://goo.gl/YGsrQ ) that describes how my solution works and why it is necessary. I welcome your feedback! Thanks! Alex -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Can GWT be used with Dust.js, Node.js and Backbone.js?
Sorry - totally new at GWT - have not even read the manuals yet. Any guidance welcome. Inquisitor Ravenor -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Need Editor Framework help
I spent most of Friday reading up on Editor Framework and it seemed quite powerful and useful. But today I'm looking at actually making use of it and I've had some fairly basic questions which I have not been able to find answers to in this group or anywhere on Google/gwtproject.org. 1) Does the use of Editor Framework require the use of UiBinder? i.e. can I use it with a regular Java view? 2) Does the use of Editor Framework require the use of RequestFactory? This answer appears to be no, but I haven't been able to find any examples that don't use RequestFactory. Do such examples exist? 3) What options exist in GWT for doing databinding? It looks like UiBinder itself takes care of doing data binding. So I guess that Editor Framework is not so much about data binding, instead it adds validation, Editor composition, and? I still can't really figure out if the Editor Framework is right for my project or not. I use DTOs via GWT-RPC without any RequestFactory. My current views are Java (no UiBinder) but I might switch to UiBinder. I've got the architecture for MVP laid out pretty well and I'm having a hard time figuring out how Editors fit into the mix. The DTOs whose data is exposed in my views does not map directly to what is displayed in the view one-to-one. Many views display data taken from multiple DTOs. Also actions/selections in one view must result in changes to other views on the page. This means that selecting an item in one view could cause (via Events) multiple presenters to disable/enable elements in their views. Are there are good IO videos that cover Editor Framework in detail? So far my searches have not come up with any, but the names don't always specify the content. I've read the details on gwtproject.org, code.google.com, and various blogs plus the DynaTableRf example. But while trying to implement this stuff today, it just feels wrong, like it isn't going to fit/work/etc with what I'm doing. So I'm trying to figure out if I should just not use Editor Framework at all. Thank you, Michael Prentice GDG Space Coast -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Need Editor Framework help
In my humble opinion, the editor framework is by far one of the cooolest and most important features found in GWT. For some reason it doesn't seem to be something that gets used a lot, at least I haven't seen a lot of people using it. Your questions: 1) It doesn't have to be used with UI Binder. It can work just fine with plain java views. 2) No 3) The Editor framework is mostly if not all about data binding. My very simplistic, in a nut shell Editor description. - Suppose you have a View and it consists of a Label, checkbox, texarea, etc... - That View that you want the user to interact with is what is called an Editor in the examples you'll find. For example in http://www.gwtproject.org/doc/latest/DevGuideUiEditors.html : public class PersonEditor extends Dialog implements EditorPerson { - That View/Editor will have fields representing ... well what you want your view to look like. - You will back that Editor/View with a Java Bean. In this case Person. The field names in your editor/view must match the Bean fields. Although I think there was even an annotation as well that you could use if you wanted to use a different field name. (Getting old so I forget stuff) - So now you have a View/Editor that is being backed up or better expressed it's bound with a Java Bean. - At this point all you really need to remember for the most part are two methods. a) edit= will populate your View/Editor fields based on the value/s found in your Java Bean (Person in this case) b) flush = The other direction, will take the values from your View/Editor html elements and populate your Bean instance. There are more complicated cases. Editors of Editors, a few other things, but overall and again very simplistically that is the idea. See an example on how we employ the Editor framework for example in this View we have in the touch4j demo: http://touch4j.appspot.com/#EditorViewPlace:Editors Click/Tap on source on the right hand corner. I omitted some initialization steps in my very poor description such as an interface definition, etc... but overall that is the idea. For your case, you can publish events for example on your RPC response containing the DTO you've received and the different presenters can have or react to those events you published, build beans that back up your Editor/View and update them in a very simple way. Think about what would happen without the Editor framework. You would need to have in your different presenters: onReceivedEvent(Person person) { firstNameLabel.setValue(person.getFirstName); // If you have a lot of html elements in your view this is tedious work. // More so if you have to check for nulls etc... } With the Editor framework that becomes: onReceivedEvent(Person person) { yourEditorDriver.edit(person); // Your UI elements are automatically updated } Then to obtain any user driven interactions with your UI HTML elements you could have something like after the user hits Save: onSaveEvent() { Person edited = yourEditorDriver.flush(); firePersonPersistEvent(edited); // All the UI changes that were done by the user are automatically updated in the Person Bean. } Hope that helps. On Mon, Aug 19, 2013 at 6:44 PM, Michael Prentice splak...@gmail.comwrote: I spent most of Friday reading up on Editor Framework and it seemed quite powerful and useful. But today I'm looking at actually making use of it and I've had some fairly basic questions which I have not been able to find answers to in this group or anywhere on Google/gwtproject.org. 1) Does the use of Editor Framework require the use of UiBinder? i.e. can I use it with a regular Java view? 2) Does the use of Editor Framework require the use of RequestFactory? This answer appears to be no, but I haven't been able to find any examples that don't use RequestFactory. Do such examples exist? 3) What options exist in GWT for doing databinding? It looks like UiBinder itself takes care of doing data binding. So I guess that Editor Framework is not so much about data binding, instead it adds validation, Editor composition, and? I still can't really figure out if the Editor Framework is right for my project or not. I use DTOs via GWT-RPC without any RequestFactory. My current views are Java (no UiBinder) but I might switch to UiBinder. I've got the architecture for MVP laid out pretty well and I'm having a hard time figuring out how Editors fit into the mix. The DTOs whose data is exposed in my views does not map directly to what is displayed in the view one-to-one. Many views display data taken from multiple DTOs. Also actions/selections in one view must result in changes to other views on the page. This means that selecting an item in one view could cause (via Events) multiple presenters to disable/enable elements in their views. Are there are good IO videos that cover Editor Framework in detail? So far my searches have not come up with any, but the names don't always
Problem decoding complex AutoBean
I've managed a simple AutoBean with a list. Now I've a more complex one, and I don't understand what's wrong. My get methods are returning null though the debugger shows the object has data. The JSON looks like this: { mquery: { screenname:Index Card, fields: { field:[ {title:Name, name:odname, value:*TIFF*}, {title:Date, name:oddate, value:}, {title:Ref #, name:odrefnum, value:} ] } } } I have three interfaces: public interface Field { String getTitle(); void setTitle(String title); String getName(); void setName(String name); String getValue(); void setValue(String value); } public interface FieldList { ListField getField(); void setField(ListField field); } public interface MQuery { String getScreenname(); void setScreenname(String screenname); FieldList getFields(); void setFields(FieldList fields); } In my bean factory, I have public interface BeanFactory extends AutoBeanFactory { ... AutoBeanField field(); AutoBeanFieldList fields(); AutoBeanMQuery mquery(); } In my onResponseReceived() method, I call AutoBeanMQuery mqueryBean = AutoBeanCodex.decode(clientFactory.getBeanFactory(), MQuery.class, response.getText()); MQuery mQuery = mqueryBean.as(); logger.log(Level.INFO, mQuery.getScreenname()); screenName = mQuery.getScreenname(); fieldList = mQuery.getFields().getField(); view.renderFields(fieldList); When I look at the debugger in Chrome, screenname, etc are populated (in mQuery:this$0:data_0 there is mquery with screenename set and 3 field objects in fields). However mQuery.getScreenname() returns null as does mQuery.getFields(). What am I not seeing here? Could the presence of other AutoBeans in my factory (beans that work) be messing me up (do I need a separate factory)? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Running over ubuntu
Howdy, When I tried to run GWT quick start tutorial I got this error message! How can I fix this issue? I already installed GWT Developer plugin for Firefox 1.23 I installed eclipse from ubuntu 13.04 repository (version 3.8.1) I already GWT from ubuntu 13.04 repository (version 2.4.0) 02:00:37.373 [ERROR] [hellostupid] Exception initializing module java.lang.NullPointerException: null at com.google.gwt.dev.javac.JsniChecker.getSuppressedWarnings(JsniChecker.java:565) at com.google.gwt.dev.javac.JsniChecker$JsniDeclChecker.visit(JsniChecker.java:135) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1233) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:679) at com.google.gwt.dev.javac.JsniChecker.check(JsniChecker.java:615) at com.google.gwt.dev.javac.JsniChecker.check(JsniChecker.java:559) at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater$UnitProcessorImpl.process(CompilationStateBuilder.java:83) at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:251) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:464) at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:710) at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:235) at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:447) at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:370) at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:360) at com.google.gwt.dev.DevModeBase$UiBrowserWidgetHostImpl.createModuleSpaceHost(DevModeBase.java:110) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:197) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) at java.lang.Thread.run(Thread.java:724) The project was not built since its build path is incomplete. Cannot find the class file for javax.servlet.http.HttpServletResponse. Fix the build path then try building this project HelloStupid Unknown Java Problem The type javax.servlet.http.HttpServletResponse cannot be resolved. It is indirectly referenced from required .class files GreetingServiceImpl.java /HelloStupid/src/com/example/hello/server line 1 Java Problem -- Best Regards, Muhammad Bashir Al-Noimi -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Running over ubuntu
On 08/20/2013 02:06 AM, Muhammad Bashir Al-Noimi wrote: Howdy, When I tried to run GWT quick start tutorial I got this error message! How can I fix this issue? I already installed GWT Developer plugin for Firefox 1.23 I installed eclipse from ubuntu 13.04 repository (version 3.8.1) I already GWT from ubuntu 13.04 repository (version 2.4.0) 02:00:37.373 [ERROR] [hellostupid] Exception initializing module java.lang.NullPointerException: null at com.google.gwt.dev.javac.JsniChecker.getSuppressedWarnings(JsniChecker.java:565) at com.google.gwt.dev.javac.JsniChecker$JsniDeclChecker.visit(JsniChecker.java:135) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1233) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:679) at com.google.gwt.dev.javac.JsniChecker.check(JsniChecker.java:615) at com.google.gwt.dev.javac.JsniChecker.check(JsniChecker.java:559) at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater$UnitProcessorImpl.process(CompilationStateBuilder.java:83) at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:251) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:464) at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:710) at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:235) at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:447) at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:370) at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:360) at com.google.gwt.dev.DevModeBase$UiBrowserWidgetHostImpl.createModuleSpaceHost(DevModeBase.java:110) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:197) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) at java.lang.Thread.run(Thread.java:724) The project was not built since its build path is incomplete. Cannot find the class file for javax.servlet.http.HttpServletResponse. Fix the build path then try building this project HelloStupid Unknown Java Problem The type javax.servlet.http.HttpServletResponse cannot be resolved. It is indirectly referenced from required .class files GreetingServiceImpl.java /HelloStupid/src/com/example/hello/server line 1 Java Problem I forgot to mention that I installed eclipse plugin from http://dl.google.com/eclipse/plugin/4.2 -- Best Regards, Muhammad Bashir Al-Noimi -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: Running over ubuntu
It seems that you don't have the Servlet API on your classpath upon compilation. If you're using Maven, make sure that you put the servlet api dependency on the pom.xml with a scope = compile. This will include the servlet api on compilation, but exclude it on the deployment. We need to exclude it, since Jetty (I assumed you are using Jetty here) already has a servlet api. Thanks, On Tue, Aug 20, 2013 at 8:06 AM, Muhammad Bashir Al-Noimi mbno...@gmail.com wrote: Howdy, When I tried to run GWT quick start tutorialhttp://www.gwtproject.org/usingeclipse.htmlI got this error message! How can I fix this issue? - I already installed GWT Developer plugin for Firefox 1.23 - I installed eclipse from ubuntu 13.04 repository (version 3.8.1) - I already GWT from ubuntu 13.04 repository (version 2.4.0) 02:00:37.373 [ERROR] [hellostupid] Exception initializing module java.lang.NullPointerException: null at com.google.gwt.dev.javac.JsniChecker.getSuppressedWarnings(JsniChecker.java:565) at com.google.gwt.dev.javac.JsniChecker$JsniDeclChecker.visit(JsniChecker.java:135) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1233) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:679) at com.google.gwt.dev.javac.JsniChecker.check(JsniChecker.java:615) at com.google.gwt.dev.javac.JsniChecker.check(JsniChecker.java:559) at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater$UnitProcessorImpl.process(CompilationStateBuilder.java:83) at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:251) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:464) at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:710) at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:235) at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:447) at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:370) at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:360) at com.google.gwt.dev.DevModeBase$UiBrowserWidgetHostImpl.createModuleSpaceHost(DevModeBase.java:110) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:197) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) at java.lang.Thread.run(Thread.java:724) The project was not built since its build path is incomplete. Cannot find the class file for javax.servlet.http.HttpServletResponse. Fix the build path then try building this projectHelloStupid Unknown Java Problem The type javax.servlet.http.HttpServletResponse cannot be resolved. It is indirectly referenced from required .class filesGreetingServiceImpl.java /HelloStupid/src/com/example/hello/server line 1 Java Problem -- Best Regards, Muhammad Bashir Al-Noimi -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out. -- *Alvin P. Reyes*, Oracle Certified Professional Software Engineer Blog: http://www.alvinjayreyes.com -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Google team meeting notes for August 7 (and earlier)
re: Heiko Braun it means having an optional compilation path that does not recompile the entire world (as the current monolithic compile path does) and instead tries to recompile just files (or or modules) that have changed. it is exploratory work for me right now as there are very many issues standing in its way. if/when it is done and ready it should make a big impact on SuperDev mode refresh time by reducing compile time (when compiles are run non-monolithically) On Sat, Aug 10, 2013 at 12:01 AM, Heiko Braun ike.br...@googlemail.comwrote: Regarding hello world app running using separate compilation: can you elaborate on that? Do you mean support for two distinct compilation units within the same page? Regards,Heiko -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Re: I'm enhancing GWT to provide Java stack traces for clientside exceptions in production
Hello folks, I just wanted to remind everyone that the last day to fund this project is this Friday, August 23. I've been using this framework in production in my app now for 2 months, and it works great. Have logged 70,000 perfect stack traces so far! Already fixed 3 major bugs in my GWT-based UI code that I would NEVER found otherwise. Let's get this capability into GWT by the end of the year. Please donate! Thanks, Alex On Wednesday, July 17, 2013 4:56:40 PM UTC-4, Alex Epshteyn wrote: Dear fellow GWT users, I would like to announce that I have finally solved what I always thought to be GWT's greatest weakness: its lack of debugging information for client-side exceptions in production. With my patch, your deployed app will be able to report stack traces like this: com.google.gwt.core.client.JavaScriptException: (TypeError) : a is null com.google.gwt.dom.client.DOMImplMozilla.$getBodyOffsetLeft(DOMImplMozilla.java:145) com.google.gwt.user.client.ui.PopupPanel.$setPopupPosition(Document.java:1287) com.google.gwt.user.client.ui.PopupPanel.setPopupPosition(PopupPanel.java:884) com.google.gwt.user.client.ui.PopupPanel.PopupPanel(PopupPanel.java:453) com.typeracer.commons.client.widgets.EnhancedPopup.EnhancedPopup(EnhancedPopup.java:32) com.typeracer.commons.client.widgets.PopupWithIcon.PopupWithIcon(PopupWithFocusableTextBox.java:28) com.typeracer.main.client.controller.TyperacerUncaughtExceptionHandler$1.execute(TyperacerUncaughtExceptionHandler.java:55) com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:50) etc... :-) instead of the current state of affairs that looks like this: lineNumber: 3190 columnNumber: 15354: a is null; (TypeError) fileName: http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html stack: @ http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2422 Rub@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2423 dSb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:3190 tA@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2810 Xmb@http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2289 etc... :-( I am asking the community to support me in finishing this effort and integrating my patch into GWT. Please take a look and what I've done, and consider making a donation: http://igg.me/at/gwt-stack-traces/x/3494291 I am an indie developer and I just need some funding to continue this work. I'm looking for both grassroots and corporate sponsorship for my quest of improving GWT's error reporting and debugging support. I've written a detailed white paper ( http://goo.gl/YGsrQ ) that describes how my solution works and why it is necessary. I welcome your feedback! Thanks! Alex -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Initial support for @GwtCreate (code-gen methods)
Interesting. I like the idea of replacing class parameters with something else. I'm not sure we need to sweep the implementation under the rug. Particularly in fancier scenarios, it might be easier to work with it explicitly. Suppose we have: /** Encapsulates a GWT create call. */ interface CreatorT { Class? getClassLiteral(); ListObject getArgs(); T get(); } public class GWT { ... /** Performs a GWT.create() call an encapsulates the result. */ final T CreatorT creator(Class? classLiteral, Object... args); } Then you can write code that takes a Creator: MyService s = createService(GWT.creator(MyService.class), arg); static S extends FooService S createService(CreatorS creator, String arg) { S s = creator.get(); // do some initialization involving arg. return s; } This is how you write it without any compiler magic. But we would also support using a bare class: MyService s = createService(MyService.class, arg); static S extends FooService S createService(@Creator final ClassS theClass, String arg) { S s = GWT.create(theClass); // do some initialization involving arg. return s; } The compiler rewrites any Class arg marked as @Creator to actually take a Creator, inserts the GWT.creator() call at the call site, and replaces the GWT.create() call with a creator.get() call in the API. So we have compiler magic to make the API look pretty for simple cases, but it's not strictly necessary since you could write the same thing yourself (at the cost of some verbosity). (I bundled the arguments along with the class since that seemed like the most conservative approach. I'm not sure what happens if you have compile-time arguments coming from the different places than the class itself.) - Brian On Fri, Aug 16, 2013 at 2:22 AM, Andrés Testi andres.a.te...@gmail.comwrote: I've been working on a prototype inspired by Ray Cromwell's proposal for @GwtCreate parameters, borrowing some ideas from Scala implicit macros. I apologize for not to post this in the Possible GWT.create() Improvements thread, but this message is too long to be only a comment. You can check my patch at https://gwt-review.googlesource.com/4110. This prototype has passed many JUnit tests cases and works fine (only fails JEnumTypeTest after my last pull, I don't know why). Devmode also works. This proposal differs from Ray's original idea in that @GwtCreate is a parameter annotation instead of a method annotation. Later I will justify this decision. This new proposal consists on rewriting methods adding a trailing implicit parameter of type GwtCreateFactory for each parameter annotated with @GwtCreate. GwtCreateFactory is a hidden interface used by the compiler: interface GwtCreateFactory { T T create(); } When the compiler finds a code-gen method like Foo createFoo(@GwtCreate final Class? extends Foo fooType) { return GWT.create(fooType); } it is rewritten as Foo createFoo(final Class? extends Foo type, GwtCreateFactory fooType$factory) { return fooType$factory.create(); } IMPORTANT: The @GwtCreate parameter requires to be final. This proposal doesn't require constant evaluation expression. The final modifier is required to disable non reproductible side effects. At method call site, an invocation like Foo foo = createFoo(SubFoo.class); is rewritten as class SubFoo$GwtCreateFactory implements GwtCreateFactory { @Override public T T create() { return GWT.create(SubFoo.class); } } Foo foo = createFoo(SubFoo.class, new SubFoo$GwtCreateFactory()); Just like Scala implicit parameters, @GwtCreate can fight against type erasure and subtyping interface FooCreator { T extends Foo T create(@GwtCreate ClassT fooType); } class FooCreatorImpl extends FooCreator { T extends Foo T create(@GwtCreate final ClassT fooType) { return GWT.create(fooType); } } code-gen constructors are supported too class CreateByConstructorT extends Foo { final T instance; public CreateByConstructor(@GwtCreate final ClassT fooType) { instance = GWT.create(fooType); } } Again, as in Scala implicit parameters, nesting is allowed class Foo {} class SubFoo extends Foo {} F extends Foo F createFoo(@GwtCreate final ClassF fooType) { return GWT.create(fooType); } S extends SubFoo S createSubFoo(@GwtCreate final ClassS subFooType) { return createFoo(subFooType); } The decision to locate @GwtCreate on parameters was taken to support mixed code-gen methods F extends Foo, B extends Bar void fooBarCreator(@GwtCreate final ClassF fooType, @GwtCreate final ClassB barType) { foo = GWT.create(fooType); bar = GWT.create(barType); } Note that the @GwtCreate class parameters aren't replaced by GwtCreateFactory as was originally suggested by Ray Cromwell. This provides access to actual parameters. ClassT storedType; T