diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java index f6ce6c62693..4800261f786 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/player/AutoPlayController.java @@ -181,7 +181,7 @@ public class AutoPlayController implements RaceTimesInfoProviderListener { } else { try { Double zoom = Double.valueOf(leaderboardZoom); - scaleContentWidget(SAP_HEADER_HEIGHT, currentContentWidget, zoom); + zoomContentWidget(SAP_HEADER_HEIGHT, currentContentWidget, zoom); } catch (NumberFormatException e) { // do nothing } @@ -196,13 +196,13 @@ public class AutoPlayController implements RaceTimesInfoProviderListener { } } - private void autoZoomContentWidget(int headerHeight, final Widget contentWidget) { + private void zoomContentWidget(final int headerHeight, final Widget contentWidget, final double scaleFactor) { if(contentWidget != null) { Scheduler.get().scheduleFixedPeriod(new RepeatingCommand() { public boolean execute () { boolean invokeAgain = true; - if(currentContentWidget.getOffsetHeight() > 100) { - scaleContentWidget(SAP_HEADER_HEIGHT, contentWidget); + if(currentContentWidget.getOffsetHeight() > 50) { + scaleContentWidget(headerHeight, contentWidget, scaleFactor); invokeAgain = false; } return invokeAgain; @@ -211,10 +211,18 @@ public class AutoPlayController implements RaceTimesInfoProviderListener { } } - private void scaleContentWidget(int headerHeight, Widget contentWidget, double scaleFactor, double diffX) { - if(scaleFactor > 0.0) { - CSS3Util.setProperty(contentWidget.getElement().getStyle(), "transform", "translateX(" + diffX / 2.0 + "px) scale(" + scaleFactor + ")"); - CSS3Util.setProperty(contentWidget.getElement().getStyle(), "transformOrigin", "0 0"); + private void autoZoomContentWidget(final int headerHeight, final Widget contentWidget) { + if(contentWidget != null) { + Scheduler.get().scheduleFixedPeriod(new RepeatingCommand() { + public boolean execute () { + boolean invokeAgain = true; + if(currentContentWidget.getOffsetHeight() > 50) { + scaleContentWidget(headerHeight, contentWidget); + invokeAgain = false; + } + return invokeAgain; + } + }, 1000); } } @@ -245,7 +253,14 @@ public class AutoPlayController implements RaceTimesInfoProviderListener { scaleContentWidget(headerHeight, contentWidget, scaleFactor, diffX); } - + + private void scaleContentWidget(int headerHeight, Widget contentWidget, double scaleFactor, double diffX) { + if(scaleFactor > 0.0) { + CSS3Util.setProperty(contentWidget.getElement().getStyle(), "transform", "translateX(" + diffX / 2.0 + "px) scale(" + scaleFactor + ")"); + CSS3Util.setProperty(contentWidget.getElement().getStyle(), "transformOrigin", "0 0"); + } + } + private void showRaceBoard() { if (activeTvView != AutoPlayModes.Raceboard) { playerView.clearDockPanel(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.java index 46bcc4bce1d..32a09ac0b05 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.java @@ -19,6 +19,7 @@ import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.gwt.autoplay.client.app.PlaceNavigator; +import com.sap.sailing.gwt.autoplay.client.shared.header.SAPHeader; import com.sap.sailing.gwt.common.client.SharedResources; import com.sap.sailing.gwt.ui.shared.EventDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; @@ -30,6 +31,7 @@ public class DesktopStartView extends Composite implements StartView { interface StartPageViewUiBinder extends UiBinder { } + @UiField(provided=true) SAPHeader sapHeader; @UiField(provided=true) ListBox eventSelectionBox; @UiField(provided=true) ListBox leaderboardSelectionBox; @UiField CheckBox leaderboardAutoZoomBox; @@ -47,6 +49,7 @@ public class DesktopStartView extends Composite implements StartView { this.navigator = navigator; this.events = new ArrayList(); + sapHeader = new SAPHeader("Auto player configuration"); eventSelectionBox = new ListBox(false); leaderboardSelectionBox = new ListBox(false); @@ -56,6 +59,9 @@ public class DesktopStartView extends Composite implements StartView { leaderboardZoomBox.setEnabled(false); leaderboardSelectionDiv.getStyle().setVisibility(Visibility.HIDDEN); + leaderboardZoomDiv.getStyle().setVisibility(Visibility.HIDDEN); + leaderboardAutoZoomDiv.getStyle().setVisibility(Visibility.HIDDEN); + startAutoPlayButton.setEnabled(false); startAutoPlayButton.addStyleName(SharedResources.INSTANCE.mainCss().buttoninactive()); } @@ -96,6 +102,8 @@ public class DesktopStartView extends Composite implements StartView { startAutoPlayButton.setEnabled(false); startAutoPlayButton.addStyleName(SharedResources.INSTANCE.mainCss().buttoninactive()); } + leaderboardZoomDiv.getStyle().setVisibility(selectedLeaderboardName != null ? Visibility.VISIBLE : Visibility.HIDDEN); + leaderboardAutoZoomDiv.getStyle().setVisibility(selectedLeaderboardName != null ? Visibility.VISIBLE : Visibility.HIDDEN); } @UiHandler("startAutoPlayButton") diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.ui.xml index be6ee10b254..efd8e390432 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/client/place/start/DesktopStartView.ui.xml @@ -1,16 +1,12 @@ - - .mainPanel { - margin:10px; - padding-top: 1em; - } - - + + +