Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

NestedFormLayouts.java 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.vaadin.tests.components.formlayout;
  2. import com.vaadin.server.VaadinRequest;
  3. import com.vaadin.tests.components.AbstractReindeerTestUI;
  4. import com.vaadin.ui.CheckBox;
  5. import com.vaadin.ui.FormLayout;
  6. import com.vaadin.ui.Label;
  7. public class NestedFormLayouts extends AbstractReindeerTestUI {
  8. private FormLayout outer;
  9. private FormLayout inner1;
  10. private FormLayout inner2;
  11. private FormLayout inner21;
  12. private FormLayout inner3;
  13. private FormLayout inner31;
  14. private FormLayout inner4;
  15. @Override
  16. protected void setup(VaadinRequest request) {
  17. outer = new FormLayout();
  18. outer.setSizeUndefined();
  19. outer.setWidth("100%");
  20. inner1 = new FormLayout();
  21. inner1.addComponent(new Label("Test"));
  22. inner1.addComponent(new Label("Test2"));
  23. outer.addComponent(inner1);
  24. outer.addComponent(new Label("Test"));
  25. outer.addComponent(new Label("Test2"));
  26. inner2 = new FormLayout();
  27. inner2.addComponent(new Label("Test"));
  28. inner2.addComponent(new Label("Test2"));
  29. inner21 = new FormLayout();
  30. inner21.addComponent(new Label("Test"));
  31. inner21.addComponent(new Label("Test2"));
  32. inner2.addComponent(inner21);
  33. outer.addComponent(inner2);
  34. inner3 = new FormLayout();
  35. inner3.addComponent(new Label("Test"));
  36. inner3.addComponent(new Label("Test2"));
  37. // this layout never gets spacing or margin
  38. inner31 = new FormLayout();
  39. inner31.addComponent(new Label("Test"));
  40. inner31.addComponent(new Label("Test2"));
  41. inner31.setSpacing(false);
  42. inner31.setMargin(false);
  43. inner3.addComponent(inner31);
  44. outer.addComponent(inner3);
  45. inner4 = new FormLayout();
  46. inner4.addComponent(new Label("Test"));
  47. inner4.addComponent(new Label("Test2"));
  48. outer.addComponent(inner4);
  49. addComponent(outer);
  50. final CheckBox spacingCheckBox = new CheckBox("Spacings", false);
  51. spacingCheckBox.setId("spacings");
  52. spacingCheckBox.addValueChangeListener(
  53. event -> setLayoutSpacing(spacingCheckBox.getValue()));
  54. addComponent(spacingCheckBox);
  55. final CheckBox marginCheckBox = new CheckBox("Margins", false);
  56. marginCheckBox.setId("margins");
  57. marginCheckBox.addValueChangeListener(
  58. event -> setLayoutMargin(marginCheckBox.getValue()));
  59. addComponent(marginCheckBox);
  60. setLayoutSpacing(false);
  61. setLayoutMargin(false);
  62. }
  63. private void setLayoutSpacing(boolean value) {
  64. outer.setSpacing(value);
  65. inner1.setSpacing(value);
  66. inner2.setSpacing(value);
  67. inner21.setSpacing(value);
  68. inner3.setSpacing(value);
  69. inner4.setSpacing(value);
  70. }
  71. private void setLayoutMargin(boolean value) {
  72. outer.setMargin(value);
  73. inner1.setMargin(value);
  74. inner2.setMargin(value);
  75. inner21.setMargin(value);
  76. inner3.setMargin(value);
  77. inner4.setMargin(value);
  78. }
  79. @Override
  80. protected String getTestDescription() {
  81. return "Excess padding applied in FormLayouts nested as first or last rows in a FormLayout";
  82. }
  83. @Override
  84. protected Integer getTicketNumber() {
  85. return 9427;
  86. }
  87. }