Ate you perhaps using a layoutpanel? I believe simplepanel descends from panel.
For layoutpanels use rootlaylout.get sorry for my poor typing. I'm trying to tap this out quickly on my mobile. Corey <corey.nel...@gmail.com> wrote: I'm trying to modify the GWT 2.1 HelloMVP example code to use a more complex UI. http://code.google.com/p/google-web-toolkit/downloads/detail?name=Tutorial-hellomvp-2.1.zip My problem is that ActivityManager.setDisplay only accepts objects that implement AcceptsOneWidget. LayoutPanel and other ComplexPanel's don't implement AcceptsOneWidget. The example code uses a SimplePanel instead. I've found a few discussions on this problem: http://stackoverflow.com/questions/5143196/is-there-a-acceptsonewidget-which-also-providesresze-other-than-scrollpanel?answertab=active#tab-top http://www.tempura.org/rants/2010/10/using-layoutpanels-with-gwt-2-1s-activitymanager/ People suggest the solution is to create a subclass of the ComplexPanel I want that implements the AcceptsOneWidget interface. Like so: public class PanelForView extends LayoutPanel implements AcceptsOneWidget { IsWidget myWidget = null; @Override public void setWidget(IsWidget w) { if (myWidget != w) { if (myWidget != null) { remove(myWidget); } if (w != null) { add(w); } myWidget = w; } } } This sounds great but it doesn't seem to work for me. Perhaps because I'm using GWT 2.3 instead of 2.1 or 2.2. In my EntryPoint I expect to simply replace the SimplePanel with my new PanelForView class and have the app run as before. Like so: public class HelloMVP implements EntryPoint { private Place defaultPlace = new HelloPlace("World!"); // private SimplePanel appWidget = new SimplePanel(); // Replace this with PanelForView private PanelForView appWidget = new PanelForView(); // This compiles but doesn't work. // private SimpleLayoutPanel appWidget = new SimpleLayoutPanel(); // This doesn't work either. public void onModuleLoad() { // Create ClientFactory using deferred binding so we can replace with different // impls in gwt.xml ClientFactory clientFactory = GWT.create(ClientFactory.class); EventBus eventBus = clientFactory.getEventBus(); PlaceController placeController = clientFactory.getPlaceController(); // Start ActivityManager for the main widget with our ActivityMapper ActivityMapper activityMapper = new AppActivityMapper(clientFactory); ActivityManager activityManager = new ActivityManager(activityMapper, eventBus); activityManager.setDisplay(appWidget); // Start PlaceHistoryHandler with our PlaceHistoryMapper AppPlaceHistoryMapper historyMapper= GWT.create(AppPlaceHistoryMapper.class); PlaceHistoryHandler historyHandler = new PlaceHistoryHandler(historyMapper); historyHandler.register(placeController, eventBus, defaultPlace); RootPanel.get().add(appWidget); // Goes to place represented on URL or default place historyHandler.handleCurrentHistory(); } } This compiles fine but when I run it, I see nothing but a blank screen now. Is there something extra I have to do to initialize a ComplexPanel? Am I just misunderstanding something? I've tried adding Widgets and calling setSize to no avail. This is my first GWT project. Thanks for your time. Corey -- 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.