From c8cab5c800411e306fdea0aa07ac979debc1d4bf Mon Sep 17 00:00:00 2001 From: izabel <izabel> Date: Wed, 10 Mar 2010 08:40:59 +0000 Subject: [PATCH] [LMS-1400] column auto width update SVN: 15100 --- .../application/ui/grid/ExtendedGridView.java | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ExtendedGridView.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ExtendedGridView.java index 95ca6c1610c..376eab68db1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ExtendedGridView.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ExtendedGridView.java @@ -69,17 +69,14 @@ class ExtendedGridView extends GridView protected void onHeaderClickWithShift(Grid<ModelData> pGrid, int column) { - // WORKAROUND: getHeaderCell takes into account only visible columns - int headerCellIndex = column; - for (int i = 0; i < column; i++) - { - if (pGrid.getColumnModel().getColumn(i).isHidden()) - { - headerCellIndex--; - } - } + int margin = 50; + pGrid.getColumnModel().setColumnWidth(column, calculateWidth(pGrid, column) + margin); + } + + private int calculateWidth(Grid<ModelData> pGrid, int column) + { GridView view = pGrid.getView(); - Element headerCell = (Element) view.getHeaderCell(headerCellIndex); + Element headerCell = (Element) view.getHeaderCell(calculateHeaderCellIndex(pGrid, column)); TextMetrics tm = TextMetrics.get(); tm.bind(headerCell); // TODO 2010-03-09, IA: line breaks are ignored @@ -95,8 +92,21 @@ class ExtendedGridView extends GridView max = width; } } - int margin = 50; - pGrid.getColumnModel().setColumnWidth(column, max + margin); + return max; + } + + private int calculateHeaderCellIndex(Grid<ModelData> pGrid, int column) + { + // WORKAROUND: getHeaderCell takes into account only visible columns + int headerCellIndex = column; + for (int i = 0; i < column; i++) + { + if (pGrid.getColumnModel().getColumn(i).isHidden()) + { + headerCellIndex--; + } + } + return headerCellIndex; } } \ No newline at end of file -- GitLab