You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GridColumnWidthInsideWindowCompositeContent.java 2.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.annotations.Widgetset;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.tests.components.AbstractTestUI;
  5. import com.vaadin.ui.Button;
  6. import com.vaadin.ui.Composite;
  7. import com.vaadin.ui.Grid;
  8. import com.vaadin.ui.VerticalLayout;
  9. import com.vaadin.ui.Window;
  10. import java.util.stream.IntStream;
  11. import java.util.stream.Stream;
  12. @Widgetset("com.vaadin.DefaultWidgetSet")
  13. public class GridColumnWidthInsideWindowCompositeContent
  14. extends AbstractTestUI {
  15. @Override
  16. protected void setup(VaadinRequest request) {
  17. Window compositeWindow = new Window();
  18. compositeWindow.setId("the-window");
  19. compositeWindow.setDraggable(true);
  20. compositeWindow.setHeight(600, Unit.PIXELS);
  21. compositeWindow.setWidth(400, Unit.PIXELS);
  22. compositeWindow.setContent(new WindowContent(compositeWindow));
  23. compositeWindow.setId("composite-itself");
  24. Button openCompositeWindow = new Button("Open composite Window",
  25. e -> getUI().addWindow(compositeWindow));
  26. openCompositeWindow.setId("open-composite");
  27. addComponent(openCompositeWindow);
  28. VerticalLayout nonCompositeLayout = new VerticalLayout();
  29. Window nonCompositeWindow = new Window();
  30. nonCompositeWindow.setDraggable(true);
  31. nonCompositeWindow.setHeight(600, Unit.PIXELS);
  32. nonCompositeWindow.setWidth(400, Unit.PIXELS);
  33. Grid grid = getGrid();
  34. VerticalLayout spacingLayout = new VerticalLayout();
  35. nonCompositeLayout.addComponents(spacingLayout, grid);
  36. nonCompositeWindow.setContent(nonCompositeLayout);
  37. Button openNonCompositeWindow = new Button("Open non-composite Window",
  38. e -> getUI().addWindow(nonCompositeWindow));
  39. openNonCompositeWindow.setId("open-non-composite");
  40. addComponent(openNonCompositeWindow);
  41. }
  42. private class WindowContent extends Composite {
  43. WindowContent(Window window) {
  44. VerticalLayout spacingLayout = new VerticalLayout();
  45. spacingLayout.setId("spacing-layout");
  46. VerticalLayout layout = new VerticalLayout(spacingLayout,
  47. getGrid());
  48. layout.setId("composite-root-vl");
  49. setCompositionRoot(layout);
  50. }
  51. }
  52. private Grid getGrid() {
  53. Grid grid = new Grid<>();
  54. IntStream.range(0, 20).forEach(i -> grid.addColumn(model -> i));
  55. Stream<Object> modelStream = IntStream.range(0, 50)
  56. .mapToObj(i -> new Object());
  57. grid.setItems(modelStream);
  58. grid.setSizeFull();
  59. return grid;
  60. }
  61. @Override
  62. protected String getTestDescription() {
  63. return "Test column resizing after expanding a Grid which is a part of a Composite inside a Window";
  64. }
  65. @Override
  66. protected Integer getTicketNumber() {
  67. return 12079;
  68. }
  69. }