package com.griddynamics.jagger.webclient.client; import com.google.gwt.core.client.GWT; import com.google.gwt.place.shared.Place; import com.google.gwt.place.shared.PlaceChangeEvent; import com.google.gwt.place.shared.PlaceChangeEvent.Handler; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.*; import com.google.web.bindery.event.shared.EventBus; import com.griddynamics.jagger.webclient.client.resources.JaggerResources; import com.griddynamics.jagger.webclient.client.trends.TrendsPlace; import com.griddynamics.jagger.webclient.client.viewresults.ViewResultsPlace; import java.util.ArrayList; import java.util.List; /** * @author "Artem Kirillov" (akirillov@griddynamics.com) * @since 6/20/12 */ public class MainView extends ResizeComposite implements IsWidget, Handler { interface MainViewUiBinder extends UiBinder<Widget, MainView> { } private static MainViewUiBinder uiBinder = GWT.create(MainViewUiBinder.class); private static interface Predicate { boolean apply(Place place); } private static class Link { private Hyperlink link; private Predicate predicate; public Link(Hyperlink link, Predicate predicate) { this.link = link; this.predicate = predicate; } public boolean isPlaceMatchLink(Place place) { return predicate.apply(place); } public Hyperlink getLink() { return link; } } @UiField DeckLayoutPanel contentContainer; public MainView(EventBus eventBus, JaggerResources resources) { initWidget(uiBinder.createAndBindUi(this)); eventBus.addHandler(PlaceChangeEvent.TYPE, this); } public AcceptsOneWidget getContentContainer() { return contentContainer; } @Override public void onPlaceChange(PlaceChangeEvent event) { } }