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.

SplitPanelSplitterWidth.java 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.vaadin.tests.components.splitpanel;
  2. import com.vaadin.tests.components.TestBase;
  3. import com.vaadin.ui.Button;
  4. import com.vaadin.ui.HorizontalSplitPanel;
  5. import com.vaadin.ui.Notification;
  6. import com.vaadin.ui.Panel;
  7. import com.vaadin.ui.VerticalLayout;
  8. import com.vaadin.ui.VerticalSplitPanel;
  9. public class SplitPanelSplitterWidth extends TestBase {
  10. @Override
  11. protected Integer getTicketNumber() {
  12. return 2510;
  13. }
  14. @Override
  15. protected String getDescription() {
  16. return "SplitPanel splitter is effectively a 1px wide target after unlocking previously locked splitter.";
  17. }
  18. @Override
  19. protected void setup() {
  20. final HorizontalSplitPanel split = new HorizontalSplitPanel();
  21. split.setWidth("200px");
  22. split.setHeight("200px");
  23. split.setLocked(true);
  24. Panel p = buildPanel("Left");
  25. p.setSizeFull();
  26. split.addComponent(p);
  27. p = buildPanel("Right");
  28. p.setSizeFull();
  29. split.addComponent(p);
  30. final VerticalSplitPanel split2 = new VerticalSplitPanel();
  31. split2.setWidth("200px");
  32. split2.setHeight("200px");
  33. split2.setLocked(true);
  34. p = buildPanel("Top");
  35. p.setSizeFull();
  36. split2.addComponent(p);
  37. p = buildPanel("Bottom");
  38. p.setSizeFull();
  39. split2.addComponent(p);
  40. getLayout().addComponent(new Button("Unlock", event -> {
  41. split.setLocked(false);
  42. split2.setLocked(false);
  43. getMainWindow().showNotification(
  44. "Try moving split. Then reload page.",
  45. Notification.TYPE_WARNING_MESSAGE);
  46. getLayout().removeComponent(event.getButton());
  47. }));
  48. getLayout().addComponent(split);
  49. getLayout().addComponent(split2);
  50. }
  51. private Panel buildPanel(String caption) {
  52. VerticalLayout pl = new VerticalLayout();
  53. pl.setMargin(true);
  54. return new Panel(caption, pl);
  55. }
  56. }