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