From 2872bcf209286d2780fddd88488c73822e4abc42 Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Wed, 17 Aug 2011 13:14:20 +0000 Subject: [PATCH] LMS-2438 Hide tooltips when the well details view is created. SVN: 22544 --- .../detailviewers/heatmaps/PlateLayouter.java | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java index 374456fae15..2263bbf8032 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java @@ -107,15 +107,17 @@ public class PlateLayouter private final SimpleModelComboBox<CodeAndLabel> heatmapKindChooser; + private final Component[][] renderedWells; + public PlateLayouter(ScreeningViewContext viewContext, PlateMetadata plateMetadata) { this.model = new PlateLayouterModel(plateMetadata); - Component[][] renderedWells = renderWells(model, viewContext); + this.renderedWells = renderWells(model, viewContext, this); LayoutContainer legendContainer = new LayoutContainer(); IRealNumberRenderer realNumberRenderer = createRealNumberRenderer(viewContext); this.presenter = new HeatmapPresenter(viewContext, model, realNumberRenderer, createViewManipulator( - viewContext, renderedWells, legendContainer)); + viewContext, legendContainer)); this.heatmapKindChooser = createHeatmapKindComboBox(presenter, viewContext); this.view = renderView(renderedWells, heatmapKindChooser, legendContainer); } @@ -127,8 +129,7 @@ public class PlateLayouter } private HeatmapPresenter.IHeatmapViewManipulator createViewManipulator( - final ScreeningViewContext viewContext, final Component[][] renderedWells, - final LayoutContainer legendContainer) + final ScreeningViewContext viewContext, final LayoutContainer legendContainer) { return new HeatmapPresenter.IHeatmapViewManipulator() { @@ -214,7 +215,6 @@ public class PlateLayouter } } } - } }; } @@ -309,7 +309,7 @@ public class PlateLayouter } private static Component[][] renderWells(PlateLayouterModel model, - ScreeningViewContext viewContext) + ScreeningViewContext viewContext, PlateLayouter layouter) { WellData[][] wellMatrix = model.getWellMatrix(); int rowsNum = wellMatrix.length; @@ -322,7 +322,7 @@ public class PlateLayouter for (int col = 0; col < colsNum; col++) { WellData wellData = wellMatrix[row][col]; - wells[row][col] = createWellWidget(wellData, model, viewContext); + wells[row][col] = createWellWidget(wellData, model, viewContext, layouter); } } return wells; @@ -393,14 +393,17 @@ public class PlateLayouter } private static Component createWellWidget(final WellData wellData, - final PlateLayouterModel model, final ScreeningViewContext screeningViewContext) + final PlateLayouterModel model, final ScreeningViewContext screeningViewContext, + final PlateLayouter layouter) { Component widget = createWellBox(wellData); widget.addListener(Events.OnMouseDown, new Listener<BaseEvent>() { + public void handleEvent(BaseEvent ce) { + layouter.hideAllTooltops(); IScreeningClientServiceAsync service = screeningViewContext.getService(); ImageDatasetEnrichedReference dataset = model.tryGetImageDataset(); if (dataset == null) @@ -434,6 +437,17 @@ public class PlateLayouter return widget; } + private void hideAllTooltops() + { + for (int row = 0; row < renderedWells.length; ++row) + { + for (int col = 0; col < renderedWells[row].length; ++col) + { + renderedWells[row][col].hideToolTip(); + } + } + } + private static Component createBox() { return new Text("") -- GitLab