@Override public void controlResized(ControlEvent e) { int restWidth = 0; for (CodeViewerColumn col : CodeViewerColumn.values()) { if (col.equals(column)) continue; restWidth += grid.getColumn(col.ordinal()).getWidth(); } if (grid.getVerticalBar().isVisible()) { restWidth += grid.getVerticalBar().getSize().x; } int totalWidth = grid.getBounds().width; grid.getColumn(column.ordinal()).setWidth(totalWidth - restWidth - 4); }
public void resetColumnWidths() { int totalWidth = 0; for (CodeViewerColumn colModel : CodeViewerColumn.values()) { if (colModel.equals(CodeViewerColumn.CODE)) continue; GridColumn column = getGrid().getColumn(colModel.ordinal()); int width = colModel.getInitialWidth(); totalWidth += width; column.setWidth(width); } int gridWidth = getGrid().getBounds().width; if (getGrid().getVerticalBar().isVisible()) { gridWidth -= getGrid().getVerticalBar().getSize().x; } if (totalWidth < gridWidth) { int widthForCode = gridWidth - totalWidth - 4; getGrid().getColumn(CodeViewerColumn.CODE.ordinal()).setWidth(widthForCode); } }