2 * Copyright (C) 2010, 2011 Openismus GmbH
4 * This file is part of GWT-Glom.
6 * GWT-Glom is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU Lesser General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
11 * GWT-Glom is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with GWT-Glom. If not, see <http://www.gnu.org/licenses/>.
20 package org.glom.web.client;
22 import org.glom.web.client.mvp.AppActivityMapper;
23 import org.glom.web.client.place.OnlineGlomPlace;
25 import com.google.gwt.activity.shared.ActivityManager;
26 import com.google.gwt.activity.shared.ActivityMapper;
27 import com.google.gwt.core.client.EntryPoint;
28 import com.google.gwt.core.client.GWT;
29 import com.google.gwt.event.shared.EventBus;
30 import com.google.gwt.place.shared.Place;
31 import com.google.gwt.place.shared.PlaceController;
32 import com.google.gwt.place.shared.PlaceHistoryHandler;
33 import com.google.gwt.user.client.ui.RootPanel;
34 import com.google.gwt.user.client.ui.SimplePanel;
37 * Entry point classes define <code>onModuleLoad()</code>.
39 public class OnlineGlom implements EntryPoint {
41 private final Place defaultPlace = new OnlineGlomPlace();
42 // an empty div tag that is the container widget for the ActivityManager
43 private final SimplePanel panel = new SimplePanel();
46 public void onModuleLoad() {
47 ClientFactoryImpl clientFactory = GWT.create(ClientFactory.class);
48 EventBus eventBus = clientFactory.getEventBus();
49 PlaceController placeController = clientFactory.getPlaceController();
51 // Start ActivityManager for the main widget with our ActivityMapper
52 ActivityMapper activityMapper = new AppActivityMapper(clientFactory);
53 ActivityManager activityManager = new ActivityManager(activityMapper, eventBus);
54 activityManager.setDisplay(panel);
56 PlaceHistoryHandler historyHandler = clientFactory.getHistoryHandler();
57 historyHandler.register(placeController, eventBus, defaultPlace);
59 // FIXME don't need (delete)
60 // String bork = clientFactory.getHistoryMapper().getToken(defaultPlace);
62 RootPanel.get().add(panel);
63 // Goes to the place represented on URL else default place
64 historyHandler.handleCurrentHistory();