diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_de.properties b/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_de.properties index db44ef929e2..d277e8a054c 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_de.properties +++ b/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_de.properties @@ -14,13 +14,13 @@ CourseArea=Regattabahn BoatClass=Bootsklasse Fleet=Flotte Race=Rennen -LeaderboardSailingDomainRetrieverChain=Segel-Domänen Ranglisten-Beschaffer -RaceSailingDomainRetrieverChain=Segel-Domänen Rennen-Beschaffer -LegSailingDomainRetrieverChain=Segel-Domänen Leg-Beschaffer -GPSFixSailingDomainRetrieverChain=Segel-Domänen GPS-Fix-Beschaffer -MarkPassingSailingDomainRetrieverChain=Segel-Domänen Tonnenrundungs-Beschaffer -RaceResultSailingDomainRetrieverChain=Segel-Domänen Rennergebnis-Beschaffer -RaceOfCompetitorSailingDomainRetrieverChain=Rennen eines Teilnehmers-Beschaffer +LeaderboardSailingDomainRetrieverChain=Leaderboards +RaceSailingDomainRetrieverChain=Rennen +LegSailingDomainRetrieverChain=Schenkel +GPSFixSailingDomainRetrieverChain=GPS-Fixes +MarkPassingSailingDomainRetrieverChain=Tonnenrundungen +RaceResultSailingDomainRetrieverChain=Rennergebnisse +RaceOfCompetitorSailingDomainRetrieverChain=Rennen eines Teilnehmers LeaderboardGroup=Ranglisten Gruppe Leaderboard=Rangliste Leg=Schenkel diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_en.properties b/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_en.properties index a3fc1f2e00e..6c7c9c90df7 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_en.properties +++ b/java/com.sap.sailing.datamining/resources/stringmessages/Sailing_StringMessages_en.properties @@ -16,13 +16,13 @@ Race=Race Competitor=Competitor Boat=Boat Team=Team -LeaderboardSailingDomainRetrieverChain=Sailing Domain Leaderboard Retriever -RaceSailingDomainRetrieverChain=Sailing Domain Race Retriever -LegSailingDomainRetrieverChain=Sailing Domain Leg Retriever -GPSFixSailingDomainRetrieverChain=Sailing Domain GPS Fix Retriever -MarkPassingSailingDomainRetrieverChain=Sailing Domain Mark Passing Retriever -RaceResultSailingDomainRetrieverChain=Sailing Domain Race Result Retriever -RaceOfCompetitorSailingDomainRetrieverChain=Race of Competitor Retriever +LeaderboardSailingDomainRetrieverChain=Leaderboards +RaceSailingDomainRetrieverChain=Races +LegSailingDomainRetrieverChain=Legs +GPSFixSailingDomainRetrieverChain=GPS-Fixes +MarkPassingSailingDomainRetrieverChain=Mark Passings +RaceResultSailingDomainRetrieverChain=Race Results +RaceOfCompetitorSailingDomainRetrieverChain=Races of Competitors LeaderboardGroup=Leaderboard Group Leaderboard=Leaderboard Leg=Leg diff --git a/java/com.sap.sailing.gwt.ui/DataMining.css b/java/com.sap.sailing.gwt.ui/DataMining.css index 3706c2632b7..3f627c3140a 100644 --- a/java/com.sap.sailing.gwt.ui/DataMining.css +++ b/java/com.sap.sailing.gwt.ui/DataMining.css @@ -226,6 +226,10 @@ input.magnifier { margin: 2px; } +.statisticProviderElement { + margin: 2px; +} + .definitionProviderControls { margin: 2px; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 0886b2328e3..e8f058d8941 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -1154,7 +1154,6 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c String enterCarryValueFor(String competitorName); String advanced(); String basedOn(); - String retrieveWith(); String mappingDetails(); String deviceMappingQrCodeExplanation(); String qrCode(); @@ -1375,4 +1374,5 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c String shownDecimals(); String openFullscreenView(); String closeFullscreenView(); + String analyse(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index ea17e4cd69b..ed28cf98f00 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -1341,4 +1341,5 @@ choosePresentation=Choose Presentation cantDisplayDataOfType=Can''t display data of type {0} shownDecimals=Shown Decimals openFullscreenView=Open fullscreen view -closeFullscreenView=Close fullscreen view \ No newline at end of file +closeFullscreenView=Close fullscreen view +analyse=Analyse \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 22de4b1a24b..e709b0b9d3c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -1330,4 +1330,5 @@ choosePresentation=Wähle Präsentation cantDisplayDataOfType=Daten des Typs {0} können nicht dargestellt werden shownDecimals=Angezeigte Nachkommastellen openFullscreenView=Vollbildansicht öffnen -closeFullscreenView=Vollbildansicht schließen \ No newline at end of file +closeFullscreenView=Vollbildansicht schließen +analyse=Untersuche \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties index 13fa9301ef4..2b6aa2fe79c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties @@ -1280,4 +1280,5 @@ choosePresentation=Choose Presentation cantDisplayDataOfType=Can''t display data of type {0} shownDecimals=Shown Decimals openFullscreenView=Open fullscreen view -closeFullscreenView=Close fullscreen view \ No newline at end of file +closeFullscreenView=Close fullscreen view +analyse=Analyse \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningEntryPoint.java index e3770e26868..d0c33757ea5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningEntryPoint.java @@ -54,7 +54,7 @@ public class DataMiningEntryPoint extends AbstractSailingEntryPoint { selectionDockPanel.add(queryDefinitionProviderWithControls.getEntryWidget()); ResultsPresenter resultsPresenter = new TabbedResultsPresenter(getStringMessages()); - splitPanel.addSouth(resultsPresenter.getWidget(), 400); + splitPanel.addSouth(resultsPresenter.getWidget(), 350); splitPanel.add(selectionDockPanel); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningResources.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningResources.java index 27350840bb5..99b1ac852c4 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningResources.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/DataMiningResources.java @@ -17,4 +17,7 @@ public interface DataMiningResources extends ClientBundle { @Source("com/sap/sailing/gwt/ui/client/images/plusicon_small.png") ImageResource plusIcon(); + @Source("com/sap/sailing/gwt/ui/client/images/magnifier_small.png") + ImageResource searchIcon(); + } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/BufferingQueryDefinitionProviderWithControls.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/BufferingQueryDefinitionProviderWithControls.java index 1defe543510..e89340affdc 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/BufferingQueryDefinitionProviderWithControls.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/BufferingQueryDefinitionProviderWithControls.java @@ -49,25 +49,21 @@ public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryD * Or caused by quick changes of the filter selection. */ private static final int queryBufferTimeInMillis = 200; + + private static final double headerPanelHeight = 45; + private static final double footerPanelHeight = 50; - private final ProviderListener providerListener; - /** - * This effects the incoming change notifications.
- * If true, the outgoing change notification is blocked and the next provider (in - * the hierarchy) is told to update its components. This will automatically be set to false - * when the last provider notifies a change and then the listeners will be notified.
- * See {@link BufferingQueryDefinitionProviderWithControls#ProviderListener} for the concrete implemenation. - */ private final Timer queryDefinitionReleaseTimer; private final DockLayoutPanel mainPanel; private FlowPanel controlsPanel; + private final ProviderListener providerListener; + private final Collection providers; private DataRetrieverChainDefinitionProvider retrieverChainProvider; private StatisticProvider statisticProvider; private GroupingProvider groupingProvider; private FilterSelectionProvider filterSelectionProvider; - private Collection providers; public BufferingQueryDefinitionProviderWithControls(DataMiningSession session, StringMessages stringMessages, DataMiningServiceAsync dataMiningService, ErrorReporter errorReporter) { super(stringMessages, dataMiningService, errorReporter); @@ -79,12 +75,19 @@ public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryD } }; - mainPanel = new DockLayoutPanel(Unit.PX); - mainPanel.addNorth(createFunctionsPanel(), 92); - + // The header panel has to be created before the footer panel, because the component provider in the footer panel depend on + // the retriever chain provider. To be more exact: The retriever chain provider mustn't be null, when createFooterPanel() is called. + Widget headerPanel = createHeaderPanel(); + + SplitLayoutPanel filterSplitPanel = new SplitLayoutPanel(15); + filterSplitPanel.addSouth(createFooterPanel(), footerPanelHeight); filterSelectionProvider = new ListRetrieverChainFilterSelectionProvider(session, stringMessages, dataMiningService, errorReporter, retrieverChainProvider); filterSelectionProvider.addSelectionChangedListener(providerListener); - mainPanel.add(filterSelectionProvider.getEntryWidget()); + filterSplitPanel.add(filterSelectionProvider.getEntryWidget()); + + mainPanel = new DockLayoutPanel(Unit.PX); + mainPanel.addNorth(headerPanel, headerPanelHeight); + mainPanel.add(filterSplitPanel); providers = new ArrayList<>(); providers.add(retrieverChainProvider); @@ -93,20 +96,9 @@ public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryD providers.add(filterSelectionProvider); } - private Widget createFunctionsPanel() { - FlowPanel statisticAndRetrieverChainPanel = new FlowPanel(); - + private Widget createHeaderPanel() { retrieverChainProvider = new SimpleDataRetrieverChainDefinitionProvider(getStringMessages(), getDataMiningService(), getErrorReporter()); retrieverChainProvider.addDataRetrieverChainDefinitionChangedListener(providerListener); - statisticAndRetrieverChainPanel.add(retrieverChainProvider.getEntryWidget()); - - statisticProvider = new SimpleStatisticProvider(getStringMessages(), getDataMiningService(), getErrorReporter(), retrieverChainProvider); - statisticProvider.addStatisticChangedListener(providerListener); - statisticAndRetrieverChainPanel.add(statisticProvider.getEntryWidget()); - - groupingProvider = new MultiDimensionalGroupingProvider(getStringMessages(), getDataMiningService(), getErrorReporter(), statisticProvider); - groupingProvider.addGroupingChangedListener(providerListener); - ScrollPanel groupBySelectionScrollPanel = new ScrollPanel(groupingProvider.getEntryWidget()); controlsPanel = new FlowPanel(); controlsPanel.addStyleName("definitionProviderControls"); @@ -129,13 +121,25 @@ public class BufferingQueryDefinitionProviderWithControls extends AbstractQueryD }); addControl(reloadButton); + SplitLayoutPanel headerSplitPanel = new SplitLayoutPanel(15); + headerSplitPanel.addWest(retrieverChainProvider.getEntryWidget(), 600); + headerSplitPanel.add(controlsPanel); + return headerSplitPanel; + } + + private Widget createFooterPanel() { + statisticProvider = new SimpleStatisticProvider(getStringMessages(), getDataMiningService(), getErrorReporter(), retrieverChainProvider); + statisticProvider.addStatisticChangedListener(providerListener); + + groupingProvider = new MultiDimensionalGroupingProvider(getStringMessages(), getDataMiningService(), getErrorReporter(), statisticProvider); + groupingProvider.addGroupingChangedListener(providerListener); + SplitLayoutPanel controlsSplitPanel = new SplitLayoutPanel(15); - controlsSplitPanel.addWest(new ScrollPanel(statisticAndRetrieverChainPanel), 530); - controlsSplitPanel.addEast(new ScrollPanel(controlsPanel), 150); - controlsSplitPanel.add(groupBySelectionScrollPanel); + controlsSplitPanel.addWest(new ScrollPanel(statisticProvider.getEntryWidget()), 400); + controlsSplitPanel.add(new ScrollPanel(groupingProvider.getEntryWidget())); return controlsSplitPanel; } - + private void scheduleQueryDefinitionChanged() { queryDefinitionReleaseTimer.schedule(queryBufferTimeInMillis); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/MultiDimensionalGroupingProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/MultiDimensionalGroupingProvider.java index 0e4e2e88f66..2351a83632e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/MultiDimensionalGroupingProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/MultiDimensionalGroupingProvider.java @@ -12,6 +12,7 @@ import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ValueListBox; import com.google.gwt.user.client.ui.Widget; @@ -26,7 +27,6 @@ import com.sap.sse.datamining.shared.dto.StatisticQueryDefinitionDTO; import com.sap.sse.datamining.shared.impl.dto.AggregationProcessorDefinitionDTO; import com.sap.sse.datamining.shared.impl.dto.FunctionDTO; import com.sap.sse.gwt.client.ErrorReporter; -import com.sap.sse.gwt.client.panels.HorizontalFlowPanel; import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent; public class MultiDimensionalGroupingProvider implements GroupingProvider { @@ -38,7 +38,7 @@ public class MultiDimensionalGroupingProvider implements GroupingProvider { private final ErrorReporter errorReporter; private final Set listeners; - private final HorizontalFlowPanel mainPanel; + private final FlowPanel mainPanel; private final List> dimensionToGroupByBoxes; private boolean isAwaitingReload; @@ -56,8 +56,8 @@ public class MultiDimensionalGroupingProvider implements GroupingProvider { isAwaitingReload = false; dimensionToGroupByBoxes = new ArrayList>(); - mainPanel = new HorizontalFlowPanel(); - Label groupByLabel = new Label(this.stringMessages.groupBy() + ":"); + mainPanel = new FlowPanel(); + Label groupByLabel = new Label(this.stringMessages.groupBy()); groupByLabel.addStyleName(GROUPING_PROVIDER_ELEMENT_STYLE); mainPanel.add(groupByLabel); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleDataRetrieverChainDefinitionProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleDataRetrieverChainDefinitionProvider.java index 0fd700b1345..7221c3ba0e0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleDataRetrieverChainDefinitionProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleDataRetrieverChainDefinitionProvider.java @@ -45,7 +45,7 @@ public class SimpleDataRetrieverChainDefinitionProvider implements DataRetriever mainPanel = new HorizontalPanel(); mainPanel.setSpacing(5); - mainPanel.add(new Label(this.stringMessages.retrieveWith())); + mainPanel.add(new Label(this.stringMessages.analyse())); retrieverChainsListBox = createRetrieverChainsListBox(); mainPanel.add(retrieverChainsListBox); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleStatisticProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleStatisticProvider.java index ab8cac32c5d..1b4bebc7178 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleStatisticProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/SimpleStatisticProvider.java @@ -12,6 +12,7 @@ import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ValueListBox; @@ -32,6 +33,8 @@ import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent; public class SimpleStatisticProvider implements StatisticProvider { + private static final String STATISTIC_PROVIDER_ELEMENT_STYLE = "statisticProviderElement"; + private final StringMessages stringMessages; private final DataMiningServiceAsync dataMiningService; private final ErrorReporter errorReporter; @@ -42,7 +45,7 @@ public class SimpleStatisticProvider implements StatisticProvider { private final Collection extractionFunctions; private final Collection aggregatorDefinitions; - private final HorizontalPanel mainPanel; + private final FlowPanel mainPanel; private final ValueListBox extractionFunctionListBox; private final ValueListBox aggregatorListBox; @@ -58,16 +61,19 @@ public class SimpleStatisticProvider implements StatisticProvider { extractionFunctions = new HashSet<>(); aggregatorDefinitions = new HashSet<>(); - mainPanel = new HorizontalPanel(); - mainPanel.setSpacing(5); - - mainPanel.add(new Label(this.stringMessages.calculateThe())); + HorizontalPanel selectionPanel = new HorizontalPanel(); extractionFunctionListBox = createExtractionFunctionListBox(); - mainPanel.add(extractionFunctionListBox); - + extractionFunctionListBox.addStyleName(STATISTIC_PROVIDER_ELEMENT_STYLE); + selectionPanel.add(extractionFunctionListBox); aggregatorListBox = createAggregatorListBox(); - HorizontalPanel aggregatorPanel = surroundAggregatorListBoxWithBraces(aggregatorListBox); - mainPanel.add(aggregatorPanel); + aggregatorListBox.addStyleName(STATISTIC_PROVIDER_ELEMENT_STYLE); + selectionPanel.add(aggregatorListBox); + + mainPanel = new FlowPanel(); + Label label = new Label(this.stringMessages.calculateThe()); + label.addStyleName(STATISTIC_PROVIDER_ELEMENT_STYLE); + mainPanel.add(label); + mainPanel.add(selectionPanel); retrieverChainProvider.addDataRetrieverChainDefinitionChangedListener(this); } @@ -210,16 +216,6 @@ public class SimpleStatisticProvider implements StatisticProvider { return aggregatorListBox; } - private HorizontalPanel surroundAggregatorListBoxWithBraces(ValueListBox aggregatorListBox) { - HorizontalPanel aggregatorPanel = new HorizontalPanel(); - aggregatorPanel.setSpacing(1); - aggregatorPanel.add(new Label("(")); - - aggregatorPanel.add(aggregatorListBox); - aggregatorPanel.add(new Label(")")); - return aggregatorPanel; - } - @Override public void applyQueryDefinition(StatisticQueryDefinitionDTO queryDefinition) { extractionFunctionListBox.setValue(queryDefinition.getStatisticToCalculate()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/filter/DimensionFilterSelectionProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/filter/DimensionFilterSelectionProvider.java index 7b4e84ef6c1..40e628cf0d6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/filter/DimensionFilterSelectionProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/selection/filter/DimensionFilterSelectionProvider.java @@ -10,6 +10,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import com.google.gwt.core.shared.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.logical.shared.ValueChangeEvent; @@ -18,10 +19,12 @@ import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.Image; 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.sap.sailing.gwt.ui.client.shared.controls.AbstractObjectRenderer; +import com.sap.sailing.gwt.ui.datamining.DataMiningResources; import com.sap.sailing.gwt.ui.datamining.DataMiningServiceAsync; import com.sap.sailing.gwt.ui.datamining.FilterSelectionChangedListener; import com.sap.sailing.gwt.ui.datamining.ManagedDataMiningQueriesCounter; @@ -36,6 +39,8 @@ import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.controls.busyindicator.SimpleBusyIndicator; class DimensionFilterSelectionProvider { + + private static final DataMiningResources resources = GWT.create(DataMiningResources.class); private final DataMiningServiceAsync dataMiningService; private final ErrorReporter errorReporter; @@ -78,8 +83,8 @@ class DimensionFilterSelectionProvider { dimensionChangedHandler = new DimensionChangedHandler(); dimensionListBox.addValueChangeHandler(dimensionChangedHandler); controlsPanel.add(dimensionListBox); - - toggleFilterButton = new ToggleButton("S"); + + toggleFilterButton = new ToggleButton(new Image(resources.searchIcon())); toggleFilterButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/magnifier_small.png b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/magnifier_small.png new file mode 100644 index 00000000000..59ba5060d43 Binary files /dev/null and b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/magnifier_small.png differ