isolated "Components" stuff to prepare package to move to SSE

This commit is contained in:
Axel Uhl committed 2015-04-14 16:09:54 +02:00
1 parent 80a6b05af9
commit c191899f3b
31 files changed
+65 -85

No files matched your search

@@ -14,7 +14,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.QRCodeComposite;
import com.sap.sailing.gwt.ui.client.shared.controls.QRCodeComposite;
public abstract class BaseQRIdentifierWidget implements IsWidget {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class CompetitorConfigImagesBarCell extends ImagesBarCell {
static final String ACTION_EDIT = "ACTION_EDIT";
@@ -3,7 +3,7 @@ package com.sap.sailing.gwt.ui.adminconsole;
import java.util.ArrayList;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class CourseManagementWidgetWaypointsImagesBarCell extends ImagesBarCell {
@@ -4,7 +4,7 @@ import com.google.gwt.http.client.URL;
import com.sap.sailing.domain.common.racelog.tracking.DeviceMappingConstants;
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.QRCodeComposite;
import com.sap.sailing.gwt.ui.client.shared.controls.QRCodeComposite;
public class DeviceMappingQRCodeWidget extends BaseQRIdentifierWidget {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class EventConfigImagesBarCell extends ImagesBarCell {
@@ -33,7 +33,7 @@ import com.google.gwt.view.client.SingleSelectionModel;
import com.sap.sailing.domain.common.impl.NaturalComparator;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.IconResources;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
@@ -1,7 +1,7 @@
package com.sap.sailing.gwt.ui.adminconsole;
import com.google.gwt.user.cellview.client.Column;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class ImagesBarColumn<T, S extends ImagesBarCell> extends Column<T, String> {
public ImagesBarColumn(S imagesBarCell) {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class LeaderboardConfigImagesBarCell extends ImagesBarCell {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class LeaderboardGroupConfigImagesBarCell extends ImagesBarCell {
@@ -6,7 +6,7 @@ import java.util.List;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.domain.common.LeaderboardType;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
import com.sap.sse.gwt.client.IconResources;
@@ -3,7 +3,7 @@ package com.sap.sailing.gwt.ui.adminconsole;
import java.util.Arrays;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class MediaActionBarCell extends ImagesBarCell {
@@ -4,7 +4,7 @@ import java.util.ArrayList;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class RaceLogTrackingCourseDefinitionDialogMarksImagesBarCell extends ImagesBarCell {
public static final String ACTION_PING = "ACTION_PING";
@@ -4,7 +4,7 @@ import java.util.ArrayList;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sailing.gwt.ui.shared.DeviceMappingDTO;
import com.sap.sse.gwt.client.IconResources;
@@ -5,7 +5,7 @@ import java.util.ArrayList;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class RaceLogTrackingEventManagementImagesBarCell extends ImagesBarCell {
public static final String ACTION_DENOTE_FOR_RACELOG_TRACKING = "ACTION_DENOTE_FOR_RACELOG_TRACKING";
@@ -6,7 +6,7 @@ import java.util.List;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.ui.adminconsole.AbstractLeaderboardConfigPanel.RaceColumnDTOAndFleetDTOWithNameBasedEquality;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCell {
public final static String ACTION_DENOTE_FOR_RACELOG_TRACKING = "ACTION_DENOTE_FOR_RACELOG_TRACKING";
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class RegattaConfigImagesBarCell extends ImagesBarCell {
@@ -5,7 +5,7 @@ import java.util.Arrays;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SafeHtmlRenderer;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
import com.sap.sse.gwt.client.IconResources;
public class SeriesConfigImagesBarCell extends ImagesBarCell {
@@ -3,7 +3,7 @@ package com.sap.sailing.gwt.ui.client.shared.components;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.settings.Settings;
public interface Component<SettingsType extends Settings> extends ComponentSettings<SettingsType> {
public interface Component<SettingsType extends Settings> {
/**
* @return the name to display to a user for quick navigation to this component
*/
@@ -20,6 +20,25 @@ public interface Component<SettingsType extends Settings> extends ComponentSetti
void setVisible(boolean visibility);
/**
* @return whether this component has settings that a user may change; if so,
*/
boolean hasSettings();
/**
* If this component {@link #hasSettings has settings}, this method may return a component for the settings dialog.
* It will be used to obtain a widget shown in the settings dialog, a validator for the component-specific settings,
* as well as to produce a result from the widget's state when the settings dialog wants to validate or return the
* settings.
*/
SettingsDialogComponent<SettingsType> getSettingsDialogComponent();
/**
* Updates the settings of this component. Expected to be called when a settings dialog using this component's
* {@link #getSettingsDialogComponent()} has been confirmed.
*/
void updateSettings(SettingsType newSettings);
/**
* If the component wants to add its specific styling rules, e.g., for the expand/collapse toggle buttons or
* the dragger handle, it should return a non-<code>null</code> value from this method which is then used as
@@ -3,7 +3,7 @@ package com.sap.sailing.gwt.ui.client.shared.components;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
interface ComponentResources extends ClientBundle {
public interface ComponentResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/open.png")
ImageResource openIcon();
@@ -1,32 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
import com.sap.sailing.domain.common.settings.Settings;
/**
*
* @author Axel Uhl (d043530)
*
* @param <SettingsType>
* the type that describes this component's settings (if any). Use {@link Object} in case your components
* doesn't support any settings.
*/
public interface ComponentSettings<SettingsType extends Settings> {
/**
* @return whether this component has settings that a user may change; if so,
*/
boolean hasSettings();
/**
* If this component {@link #hasSettings has settings}, this method may return a component for the settings dialog.
* It will be used to obtain a widget shown in the settings dialog, a validator for the component-specific settings,
* as well as to produce a result from the widget's state when the settings dialog wants to validate or return the
* settings.
*/
SettingsDialogComponent<SettingsType> getSettingsDialogComponent();
/**
* Updates the settings of this component. Expected to be called when a settings dialog using this component's
* {@link #getSettingsDialogComponent()} has been confirmed.
*/
void updateSettings(SettingsType newSettings);
}
@@ -10,23 +10,30 @@ import com.google.gwt.user.client.ui.HorizontalPanel;
import com.sap.sailing.domain.common.settings.Settings;
import com.sap.sailing.gwt.ui.client.StringMessages;
public class ComponentToolbar<SettingsType extends Settings> extends HorizontalPanel {
/**
* One entry in a component toolbar. Represents one {@link Component} that can be selected and whose
* settings editing dialog can be reached from here.
*
* @author Axel Uhl (D043530)
*
* @param <SettingsType>
*/
public class ComponentToolbarEntry<SettingsType extends Settings> extends HorizontalPanel {
private static ComponentResources resources = GWT.create(ComponentResources.class);
private final Component<SettingsType> component;
final StringMessages stringMessages;
public ComponentToolbar(final Component<SettingsType> component, final StringMessages stringMessages) {
private final StringMessages stringMessages;
public ComponentToolbarEntry(final Component<SettingsType> component, final StringMessages stringMessages) {
super();
this.setSpacing(10);
this.component = component;
this.stringMessages = stringMessages;
}
public void addSettingsButton() {
if(component.hasSettings()) {
if (component.hasSettings()) {
ImageResource settingsImage = resources.darkSettingsIcon();
Anchor showConfigAnchor = new Anchor(AbstractImagePrototype.create(settingsImage).getSafeHtml());
showConfigAnchor.setTitle(stringMessages.configuration());
@@ -36,11 +43,7 @@ public class ComponentToolbar<SettingsType extends Settings> extends HorizontalP
new SettingsDialog<SettingsType>(component, stringMessages).show();
}
});
this.add(showConfigAnchor);
}
}
}
}
@@ -1,11 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.components;
/**
* Used to describe different view modes for a component viewer
* The view modes are driven by media types.
* @author Frank
*
*/
public enum ComponentViewerViewModes {
WEB_VIEW, TV_VIEW
}
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
import com.google.gwt.text.shared.AbstractRenderer;
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
import com.google.gwt.cell.client.FieldUpdater;
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
@@ -1,4 +1,5 @@
package com.sap.sailing.gwt.ui.client.shared.components;
package com.sap.sailing.gwt.ui.client.shared.controls;
/**
* Simple renderer, that uses the objects toString method to render.
@@ -17,7 +17,7 @@ import com.google.gwt.user.client.ui.ToggleButton;
import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sse.datamining.shared.DataMiningSession;
import com.sap.sse.datamining.shared.GroupKey;
@@ -17,8 +17,8 @@ import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.settings.Settings;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.GroupingChangedListener;
import com.sap.sailing.gwt.ui.datamining.GroupingProvider;
@@ -18,9 +18,9 @@ import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.settings.Settings;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialogComponent;
import com.sap.sailing.gwt.ui.client.shared.components.SimpleObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.controls.AbstractObjectRenderer;
import com.sap.sailing.gwt.ui.client.shared.controls.SimpleObjectRenderer;
import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync;
import com.sap.sailing.gwt.ui.datamining.StatisticChangedListener;
import com.sap.sailing.gwt.ui.datamining.StatisticProvider;
@@ -10,7 +10,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.components.CollapsablePanel;
import com.sap.sailing.gwt.ui.client.shared.components.Component;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentGroup;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentToolbar;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentToolbarEntry;
import com.sap.sailing.gwt.ui.client.shared.components.ComponentViewer;
import com.sap.sailing.gwt.ui.client.shared.components.IsEmbeddableComponent;
@@ -87,12 +87,12 @@ public class CollapsableComponentViewer<SettingsType extends Settings> implement
if (embeddableComponent.hasToolbar()) {
collapsablePanel.setHeaderToolbar(embeddableComponent.getToolbarWidget());
} else {
ComponentToolbar<SettingsType> toolbar = new ComponentToolbar<SettingsType>(component, stringMessages);
ComponentToolbarEntry<SettingsType> toolbar = new ComponentToolbarEntry<SettingsType>(component, stringMessages);
toolbar.addSettingsButton();
collapsablePanel.setHeaderToolbar(toolbar);
}
} else {
ComponentToolbar<SettingsType> toolbar = new ComponentToolbar<SettingsType>(component, stringMessages);
ComponentToolbarEntry<SettingsType> toolbar = new ComponentToolbarEntry<SettingsType>(component, stringMessages);
toolbar.addSettingsButton();
collapsablePanel.setHeaderToolbar(toolbar);
}
@@ -10,7 +10,7 @@ import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
import com.sap.sailing.domain.common.racelog.Flags;
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
import com.sap.sailing.gwt.ui.client.shared.controls.ImagesBarCell;
public class SailingFlagsBuilder {