diff --git a/java/com.sap.sailing.gwt.ui/AutoPlay.html b/java/com.sap.sailing.gwt.ui/AutoPlay.html index f1fdefdeaec..b32fe14fbe8 100644 --- a/java/com.sap.sailing.gwt.ui/AutoPlay.html +++ b/java/com.sap.sailing.gwt.ui/AutoPlay.html @@ -32,7 +32,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/AutoPlaySixtyInch.html b/java/com.sap.sailing.gwt.ui/AutoPlaySixtyInch.html new file mode 100644 index 00000000000..a0b50f3e48e --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/AutoPlaySixtyInch.html @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + SAP Sailing Analytics 60" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlay.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlay.gwt.xml new file mode 100644 index 00000000000..8e342245b5e --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlay.gwt.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/AutoPlay.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlayBase.gwt.xml similarity index 80% rename from java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/AutoPlay.gwt.xml rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlayBase.gwt.xml index bbd4f4e134d..fed8e7f38c4 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/AutoPlay.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlayBase.gwt.xml @@ -19,21 +19,12 @@ - - - - - - - - - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlaySixtyInch.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlaySixtyInch.gwt.xml new file mode 100644 index 00000000000..7d9873923fd --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlaySixtyInch.gwt.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/AutoPlayEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/AutoPlayEntryPoint.java index 4b5b008f222..011bf979de9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/AutoPlayEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/AutoPlayEntryPoint.java @@ -3,16 +3,16 @@ package com.sap.sailing.gwt.autoplay.client; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.Document; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayAppActivityMapper; -import com.sap.sailing.gwt.autoplay.client.app.AutoPlayAppClientFactory; +import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory; import com.sap.sailing.gwt.autoplay.client.app.AutoPlayAppHistoryMapper; import com.sap.sailing.gwt.common.client.SharedResources; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sse.gwt.client.mvp.AbstractMvpEntryPoint; -public class AutoPlayEntryPoint extends AbstractMvpEntryPoint { +public class AutoPlayEntryPoint extends AbstractMvpEntryPoint { @Override public void doOnModuleLoad() { - AutoPlayAppClientFactory clientFactory = GWT.create(AutoPlayAppClientFactory.class); + AutoPlayClientFactory clientFactory = GWT.create(AutoPlayClientFactory.class); AutoPlayAppHistoryMapper applicationHistoryMapper = GWT.create(AutoPlayAppHistoryMapper.class); initMvp(clientFactory, applicationHistoryMapper, new AutoPlayAppActivityMapper(clientFactory)); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/AutoPlaySixtyInchEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/AutoPlaySixtyInchEntryPoint.java new file mode 100644 index 00000000000..ffbee0ef06f --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/AutoPlaySixtyInchEntryPoint.java @@ -0,0 +1,29 @@ +package com.sap.sailing.gwt.autoplay.client; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Document; +import com.sap.sailing.gwt.autoplay.client.app.AutoPlayAppActivityMapper; +import com.sap.sailing.gwt.autoplay.client.app.AutoPlayClientFactory; +import com.sap.sailing.gwt.autoplay.client.app.AutoPlayAppHistoryMapper; +import com.sap.sailing.gwt.common.client.SharedResources; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sse.gwt.client.mvp.AbstractMvpEntryPoint; + +public class AutoPlaySixtyInchEntryPoint extends AbstractMvpEntryPoint { + @Override + public void doOnModuleLoad() { + AutoPlayClientFactory clientFactory = GWT.create(AutoPlayClientFactory.class); + + AutoPlayAppHistoryMapper applicationHistoryMapper = GWT.create(AutoPlayAppHistoryMapper.class); + initMvp(clientFactory, applicationHistoryMapper, new AutoPlayAppActivityMapper(clientFactory)); + + SharedResources.INSTANCE.mediaCss().ensureInjected(); + SharedResources.INSTANCE.mainCss().ensureInjected(); + Document.get().getBody().addClassName(SharedResources.INSTANCE.mainCss().desktop()); + } + + @Override + protected StringMessages createStringMessages() { + return GWT.create(StringMessages.class); + } +} \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayAppActivityMapper.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayAppActivityMapper.java index 32dcc614f36..29ddbc74491 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayAppActivityMapper.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayAppActivityMapper.java @@ -9,9 +9,9 @@ import com.sap.sailing.gwt.autoplay.client.place.start.StartActivityProxy; import com.sap.sailing.gwt.autoplay.client.place.start.StartPlace; public class AutoPlayAppActivityMapper implements ActivityMapper { - private final AutoPlayAppClientFactory clientFactory; + private final AutoPlayClientFactory clientFactory; - public AutoPlayAppActivityMapper(AutoPlayAppClientFactory clientFactory) { + public AutoPlayAppActivityMapper(AutoPlayClientFactory clientFactory) { super(); this.clientFactory = clientFactory; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayAppClientFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactory.java similarity index 72% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayAppClientFactory.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactory.java index c63d7804a64..d18233bd2bb 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayAppClientFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactory.java @@ -3,6 +3,6 @@ package com.sap.sailing.gwt.autoplay.client.app; import com.sap.sailing.gwt.autoplay.client.place.player.PlayerClientFactory; import com.sap.sailing.gwt.autoplay.client.place.start.StartClientFactory; -public interface AutoPlayAppClientFactory extends StartClientFactory, PlayerClientFactory { +public interface AutoPlayClientFactory extends StartClientFactory, PlayerClientFactory { PlaceNavigator getPlaceNavigator(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AbstractApplicationClientFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactoryBase.java similarity index 85% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AbstractApplicationClientFactory.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactoryBase.java index f041d9ef79f..aef03fcf2fe 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AbstractApplicationClientFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactoryBase.java @@ -14,12 +14,12 @@ import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sse.gwt.client.EntryPointHelper; import com.sap.sse.security.ui.client.SecureClientFactoryImpl; -public abstract class AbstractApplicationClientFactory extends SecureClientFactoryImpl implements AutoPlayAppClientFactory { +public abstract class AutoPlayClientFactoryBase extends SecureClientFactoryImpl implements AutoPlayClientFactory { private final SailingServiceAsync sailingService; private final MediaServiceAsync mediaService; private final PlaceNavigator navigator; - public AbstractApplicationClientFactory(ApplicationTopLevelView root, EventBus eventBus, PlaceController placeController, PlaceNavigator navigator) { + public AutoPlayClientFactoryBase(ApplicationTopLevelView root, EventBus eventBus, PlaceController placeController, PlaceNavigator navigator) { super(root, eventBus, placeController); this.navigator = navigator; sailingService = GWT.create(SailingService.class); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationClientFactory.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactoryDesktopImpl.java similarity index 67% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationClientFactory.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactoryDesktopImpl.java index 91438ee9c23..1ce5b1c696e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationClientFactory.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactoryDesktopImpl.java @@ -10,21 +10,21 @@ import com.sap.sailing.gwt.autoplay.client.place.start.StartView; import com.sap.sse.gwt.client.mvp.ErrorView; -public class DesktopApplicationClientFactory extends AbstractApplicationClientFactory implements AutoPlayAppClientFactory { - public DesktopApplicationClientFactory() { +public class AutoPlayClientFactoryDesktopImpl extends AutoPlayClientFactoryBase implements AutoPlayClientFactory { + public AutoPlayClientFactoryDesktopImpl() { this(new SimpleEventBus()); } - private DesktopApplicationClientFactory(EventBus eventBus) { + private AutoPlayClientFactoryDesktopImpl(EventBus eventBus) { this(eventBus, new PlaceController(eventBus)); } - private DesktopApplicationClientFactory(EventBus eventBus, PlaceController placeController) { + private AutoPlayClientFactoryDesktopImpl(EventBus eventBus, PlaceController placeController) { this(eventBus, placeController, new PlaceNavigatorImpl(placeController)); } - private DesktopApplicationClientFactory(EventBus eventBus, PlaceController placeController, PlaceNavigator navigator) { - super(new DesktopApplicationView(navigator), eventBus, placeController, navigator); + private AutoPlayClientFactoryDesktopImpl(EventBus eventBus, PlaceController placeController, PlaceNavigator navigator) { + super(new AutoPlayMainViewDesktopImpl(), eventBus, placeController, navigator); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactorySixtyInchImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactorySixtyInchImpl.java new file mode 100644 index 00000000000..7e4077341a6 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayClientFactorySixtyInchImpl.java @@ -0,0 +1,45 @@ +package com.sap.sailing.gwt.autoplay.client.app; + +import com.google.gwt.event.shared.SimpleEventBus; +import com.google.gwt.place.shared.PlaceController; +import com.google.web.bindery.event.shared.EventBus; +import com.sap.sailing.gwt.autoplay.client.place.player.DesktopPlayerView; +import com.sap.sailing.gwt.autoplay.client.place.player.PlayerView; +import com.sap.sailing.gwt.autoplay.client.place.start.DesktopStartView; +import com.sap.sailing.gwt.autoplay.client.place.start.StartView; +import com.sap.sse.gwt.client.mvp.ErrorView; + + +public class AutoPlayClientFactorySixtyInchImpl extends AutoPlayClientFactoryBase implements AutoPlayClientFactory { + public AutoPlayClientFactorySixtyInchImpl() { + this(new SimpleEventBus()); + } + + private AutoPlayClientFactorySixtyInchImpl(EventBus eventBus) { + this(eventBus, new PlaceController(eventBus)); + } + + private AutoPlayClientFactorySixtyInchImpl(EventBus eventBus, PlaceController placeController) { + this(eventBus, placeController, new PlaceNavigatorImpl(placeController)); + } + + private AutoPlayClientFactorySixtyInchImpl(EventBus eventBus, PlaceController placeController, PlaceNavigator navigator) { + super(new AutoPlayMainViewSixtyInchImpl(), eventBus, placeController, navigator); + } + + @Override + public StartView createStartView() { + return new DesktopStartView(getPlaceNavigator(), getEventBus(), getUserService()); + } + + @Override + public PlayerView createPlayerView() { + return new DesktopPlayerView(getPlaceNavigator()); + } + + @Override + public ErrorView createErrorView(String errorMessage, Throwable errorReason) { + return null; + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewDesktopImpl.java similarity index 83% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationView.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewDesktopImpl.java index 092f1e39592..53ecf60840e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewDesktopImpl.java @@ -14,10 +14,10 @@ import com.sap.sse.gwt.client.ErrorReporter; /** * This is the top-level view of the autoplay application. Every time another presenter wants to reveal itself, - * {@link DesktopApplicationView} will add its content of the target inside the {@code mainContentPanel}. + * {@link AutoPlayMainViewDesktopImpl} will add its content of the target inside the {@code mainContentPanel}. */ -public class DesktopApplicationView extends Composite implements ApplicationTopLevelView { - interface DesktopApplicationViewUiBinder extends UiBinder { +public class AutoPlayMainViewDesktopImpl extends Composite implements ApplicationTopLevelView { + interface DesktopApplicationViewUiBinder extends UiBinder { } private static DesktopApplicationViewUiBinder uiBinder = GWT.create(DesktopApplicationViewUiBinder.class); @@ -27,7 +27,7 @@ public class DesktopApplicationView extends Composite implements ApplicationTopL @UiField SimpleLayoutPanel mainContentPanel; - public DesktopApplicationView(PlaceNavigator navigator) { + public AutoPlayMainViewDesktopImpl() { initWidget(uiBinder.createAndBindUi(this)); RootLayoutPanel.get().add(this.asWidget()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationView.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewDesktopImpl.ui.xml similarity index 100% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/DesktopApplicationView.ui.xml rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewDesktopImpl.ui.xml diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewSixtyInchImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewSixtyInchImpl.java new file mode 100644 index 00000000000..2912048f527 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewSixtyInchImpl.java @@ -0,0 +1,78 @@ +package com.sap.sailing.gwt.autoplay.client.app; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.Unit; +import com.google.gwt.layout.client.Layout.AnimationCallback; +import com.google.gwt.layout.client.Layout.Layer; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.ui.AcceptsOneWidget; +import com.google.gwt.user.client.ui.IsWidget; +import com.google.gwt.user.client.ui.LayoutPanel; +import com.google.gwt.user.client.ui.ResizeComposite; +import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sse.gwt.client.DefaultErrorReporter; +import com.sap.sse.gwt.client.ErrorReporter; + +public class AutoPlayMainViewSixtyInchImpl extends ResizeComposite + implements ApplicationTopLevelView, AcceptsOneWidget { + private static SixtyInchViewImplUiBinder uiBinder = GWT.create(SixtyInchViewImplUiBinder.class); + + @UiField + protected LayoutPanel mainPanel; + + private Widget currentWidget; + private static ErrorReporter errorReporter = new DefaultErrorReporter(StringMessages.INSTANCE); + + interface SixtyInchViewImplUiBinder extends UiBinder { + } + + public AutoPlayMainViewSixtyInchImpl() { + initWidget(uiBinder.createAndBindUi(this)); + } + + @Override + public void setWidget(IsWidget widgetToShow) { + if (widgetToShow == null) { + // we can't display a null widget + return; + } + if (currentWidget == null) { + // first widget, just show. + mainPanel.add(widgetToShow); + currentWidget = widgetToShow.asWidget(); + } else { + final Widget widgetToDispose = currentWidget; + mainPanel.add(widgetToShow); + mainPanel.setWidgetLeftWidth(widgetToShow, 100, Unit.PCT, 100, Unit.PCT); + mainPanel.forceLayout(); + mainPanel.setWidgetLeftWidth(widgetToShow, 0, Unit.PCT, 100, Unit.PCT); + mainPanel.animate(2000, new AnimationCallback() { + @Override + public void onAnimationComplete() { + if (widgetToDispose != null) { + mainPanel.remove(widgetToDispose); + } + } + @Override + public void onLayout(Layer layer, double progress) { + } + }); + } + } + + @Override + public AcceptsOneWidget getContent() { + return this; + } + + @Override + public void showLoading(boolean visible) { + } + + @Override + public ErrorReporter getErrorReporter() { + return errorReporter; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewSixtyInchImpl.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewSixtyInchImpl.ui.xml new file mode 100644 index 00000000000..96b91c9fd60 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/AutoPlayMainViewSixtyInchImpl.ui.xml @@ -0,0 +1,13 @@ + + + + .mainPanel { + height: 100%; + width: 100%; + } + + + + + \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/PlaceNavigatorImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/PlaceNavigatorImpl.java index 70a957a27c9..dde5a875662 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/PlaceNavigatorImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/app/PlaceNavigatorImpl.java @@ -13,7 +13,7 @@ import com.sap.sse.gwt.client.shared.perspective.PerspectiveLifecycleWithAllSett public class PlaceNavigatorImpl implements PlaceNavigator { private final PlaceController placeController; - protected PlaceNavigatorImpl(PlaceController placeController) { + public PlaceNavigatorImpl(PlaceController placeController) { super(); this.placeController = placeController; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/SixtyInchOrchestrator.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/SixtyInchOrchestrator.java new file mode 100644 index 00000000000..817acb3ad01 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/SixtyInchOrchestrator.java @@ -0,0 +1,41 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch; + +import com.google.gwt.place.shared.Place; +import com.google.gwt.place.shared.PlaceController; +import com.google.gwt.user.client.Timer; +import com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide1.Slide1Place; +import com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide2.Slide2Place; + +public class SixtyInchOrchestrator { + + private PlaceController placeController; + + private Place[] simplePath = { new Slide1Place(), new Slide2Place() }; + + private int currentSlideNr = -1; + + public SixtyInchOrchestrator(PlaceController placeController) { + this.placeController = placeController; + } + + private Timer transitionTrigger = new Timer() { + @Override + public void run() { + triggerNextSlide(); + } + + }; + + public void start() { + transitionTrigger.run(); + } + + private void triggerNextSlide() { + currentSlideNr++; + if (currentSlideNr > simplePath.length - 1) { + currentSlideNr = 0; + } + placeController.goTo(simplePath[currentSlideNr]); + transitionTrigger.schedule(10000); + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/Slide.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/Slide.java new file mode 100644 index 00000000000..92c07c14e52 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/Slide.java @@ -0,0 +1,9 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.base; + +import com.google.gwt.activity.shared.Activity; +import com.google.gwt.place.shared.Place; + +public interface Slide

extends Activity { + + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/SlideBase.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/SlideBase.java new file mode 100644 index 00000000000..80400f6d560 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/SlideBase.java @@ -0,0 +1,23 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.base; + +import com.google.gwt.activity.shared.AbstractActivity; +import com.google.gwt.place.shared.Place; + +public abstract class SlideBase

extends AbstractActivity implements Slide

{ + + private SlideContext slideCtx; + private P place; + + public SlideBase(P place, SlideContext slideCtx) { + this.place = place; + this.slideCtx = slideCtx; + } + + protected SlideContext getSlideCtx() { + return slideCtx; + } + + protected P getPlace() { + return place; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/SlideContext.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/SlideContext.java new file mode 100644 index 00000000000..1f0b1a2e668 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/base/SlideContext.java @@ -0,0 +1,5 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.base; + +public interface SlideContext { + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1Place.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1Place.java new file mode 100644 index 00000000000..28d346014ec --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1Place.java @@ -0,0 +1,7 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide1; + +import com.google.gwt.place.shared.Place; + +public class Slide1Place extends Place { + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1PresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1PresenterImpl.java new file mode 100644 index 00000000000..22548acefc7 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1PresenterImpl.java @@ -0,0 +1,21 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide1; + +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.user.client.ui.AcceptsOneWidget; +import com.sap.sailing.gwt.autoplay.client.place.sixtyinch.base.SlideBase; +import com.sap.sailing.gwt.autoplay.client.place.sixtyinch.base.SlideContext; + +public class Slide1PresenterImpl extends SlideBase implements Slide1View.Slide1Presenter { + + private Slide1View view; + + public Slide1PresenterImpl(Slide1Place place, SlideContext slideCtx) { + super(place, slideCtx); + + } + + @Override + public void start(AcceptsOneWidget panel, EventBus eventBus) { + view.startingWith(this); + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1View.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1View.java new file mode 100644 index 00000000000..0d6450a6149 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1View.java @@ -0,0 +1,7 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide1; + +public interface Slide1View { + void startingWith(Slide1Presenter p); + public interface Slide1Presenter { + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1ViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1ViewImpl.java new file mode 100644 index 00000000000..afe1ee8044f --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1ViewImpl.java @@ -0,0 +1,18 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide1; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.user.client.ui.ResizeComposite; +import com.google.gwt.user.client.ui.Widget; + +public class Slide1ViewImpl extends ResizeComposite { + private static Slide1ViewImplUiBinder uiBinder = GWT.create(Slide1ViewImplUiBinder.class); + + interface Slide1ViewImplUiBinder extends UiBinder { + } + + public Slide1ViewImpl() { + initWidget(uiBinder.createAndBindUi(this)); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1ViewImpl.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1ViewImpl.ui.xml new file mode 100644 index 00000000000..77810a4015b --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide1/Slide1ViewImpl.ui.xml @@ -0,0 +1,12 @@ + + + + + + + +

SLIDE 1

+ + + \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2Place.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2Place.java new file mode 100644 index 00000000000..aa624bb1a8b --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2Place.java @@ -0,0 +1,7 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide2; + +import com.google.gwt.place.shared.Place; + +public class Slide2Place extends Place { + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2PresenterImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2PresenterImpl.java new file mode 100644 index 00000000000..fde262b423d --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2PresenterImpl.java @@ -0,0 +1,21 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide2; + +import com.google.gwt.event.shared.EventBus; +import com.google.gwt.user.client.ui.AcceptsOneWidget; +import com.sap.sailing.gwt.autoplay.client.place.sixtyinch.base.SlideBase; +import com.sap.sailing.gwt.autoplay.client.place.sixtyinch.base.SlideContext; + +public class Slide2PresenterImpl extends SlideBase implements Slide2View.Slide1Presenter { + + private Slide2View view; + + public Slide2PresenterImpl(Slide2Place place, SlideContext slideCtx) { + super(place, slideCtx); + + } + + @Override + public void start(AcceptsOneWidget panel, EventBus eventBus) { + view.startingWith(this); + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2View.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2View.java new file mode 100644 index 00000000000..a4bc96e9ab6 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2View.java @@ -0,0 +1,7 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide2; + +public interface Slide2View { + void startingWith(Slide1Presenter p); + public interface Slide1Presenter { + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2ViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2ViewImpl.java new file mode 100644 index 00000000000..99dbb076a48 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2ViewImpl.java @@ -0,0 +1,18 @@ +package com.sap.sailing.gwt.autoplay.client.place.sixtyinch.slides.slide2; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.user.client.ui.ResizeComposite; +import com.google.gwt.user.client.ui.Widget; + +public class Slide2ViewImpl extends ResizeComposite { + private static Slide1ViewImplUiBinder uiBinder = GWT.create(Slide1ViewImplUiBinder.class); + + interface Slide1ViewImplUiBinder extends UiBinder { + } + + public Slide2ViewImpl() { + initWidget(uiBinder.createAndBindUi(this)); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2ViewImpl.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2ViewImpl.ui.xml new file mode 100644 index 00000000000..77810a4015b --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/sixtyinch/slides/slide2/Slide2ViewImpl.ui.xml @@ -0,0 +1,12 @@ + + + + + + + +

SLIDE 1

+
+
+
\ No newline at end of file