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.

NestedOverlayTooltip.java 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.vaadin.tests.tooltip;
  2. import com.vaadin.server.VaadinRequest;
  3. import com.vaadin.tests.components.AbstractTestUI;
  4. import com.vaadin.ui.Button;
  5. import com.vaadin.ui.MenuBar;
  6. import com.vaadin.ui.MenuBar.MenuItem;
  7. import com.vaadin.ui.PopupView;
  8. import com.vaadin.ui.VerticalLayout;
  9. import com.vaadin.ui.Window;
  10. public class NestedOverlayTooltip extends AbstractTestUI {
  11. @Override
  12. protected void setup(VaadinRequest request) {
  13. Button openWindowButton = createOpenWindowButton();
  14. PopupView openPopUpViewLink = createOpenPopUpViewButton();
  15. MenuBar menuBar = new MenuBar();
  16. MenuItem menuItem = menuBar.addItem("First item");
  17. MenuItem firstDropdownItem = menuItem.addItem("Dropdown item");
  18. firstDropdownItem.setDescription("Dropdown Item tooltip");
  19. addComponents(openWindowButton, openPopUpViewLink, menuBar);
  20. }
  21. private Button createOpenWindowButton() {
  22. Button openWindowButton = new Button("Open window");
  23. openWindowButton.setDescription("Button tooltip");
  24. openWindowButton.addClickListener(event -> {
  25. Window window = new Window();
  26. window.center();
  27. window.setWidth("500px");
  28. window.setHeight("500px");
  29. Button openInnerWindowButton = new Button("Open inner window");
  30. openInnerWindowButton.setDescription("Button tooltip");
  31. openInnerWindowButton.addClickListener(innerEvent -> {
  32. Window innerWindow = new Window();
  33. innerWindow.center();
  34. innerWindow.setWidth("400px");
  35. innerWindow.setHeight("400px");
  36. Button dummyButton = new Button(
  37. "This button doesn't do a thing");
  38. dummyButton.setDescription("DummyButton tooltip");
  39. MenuBar innerWindowMenuBar = new MenuBar();
  40. innerWindowMenuBar.setDescription("MenuBar tooltip");
  41. MenuItem menuItem = innerWindowMenuBar
  42. .addItem("First item in inner window");
  43. MenuItem firstDropdownItem = menuItem
  44. .addItem("Inner window dropdown item");
  45. firstDropdownItem
  46. .setDescription("Inner window dropdown item tooltip");
  47. innerWindow.setContent(
  48. new VerticalLayout(dummyButton, innerWindowMenuBar));
  49. addWindow(innerWindow);
  50. });
  51. MenuBar windowMenuBar = new MenuBar();
  52. windowMenuBar.setDescription("MenuBar tooltip");
  53. MenuItem menuItem = windowMenuBar.addItem("First item in window");
  54. MenuItem firstDropdownItem = menuItem
  55. .addItem("Window dropdown item");
  56. firstDropdownItem.setDescription("Window dropdown item tooltip");
  57. window.setContent(
  58. new VerticalLayout(openInnerWindowButton, windowMenuBar));
  59. addWindow(window);
  60. });
  61. return openWindowButton;
  62. }
  63. private PopupView createOpenPopUpViewButton() {
  64. PopupView dummyView = new PopupView("Open empty popupView",
  65. new VerticalLayout());
  66. dummyView.setDescription("This dummy popupView has no content");
  67. MenuBar innerPopupMenuBar = new MenuBar();
  68. innerPopupMenuBar.setDescription("MenuBar tooltip");
  69. MenuItem innerPopupMenuItem = innerPopupMenuBar
  70. .addItem("First item in inner popupView");
  71. MenuItem firstDropdownInnerPopupItem = innerPopupMenuItem
  72. .addItem("Inner popupView dropdown item");
  73. firstDropdownInnerPopupItem
  74. .setDescription("Inner popupView dropdown item tooltip");
  75. PopupView innerView = new PopupView("Open inner popupView",
  76. new VerticalLayout(dummyView, innerPopupMenuBar));
  77. innerView.setDescription("This inner popupView has content");
  78. MenuBar popupMenuBar = new MenuBar();
  79. popupMenuBar.setDescription("MenuBar tooltip");
  80. MenuItem popupMenuItem = popupMenuBar
  81. .addItem("First item in popupView");
  82. MenuItem firstDropdownPopupItem = popupMenuItem
  83. .addItem("PopupView dropdown item");
  84. firstDropdownPopupItem
  85. .setDescription("PopupView dropdown item tooltip");
  86. PopupView popupView = new PopupView("Open popupView",
  87. new VerticalLayout(innerView, innerView, popupMenuBar));
  88. popupView.setDescription("This popupView has content");
  89. return popupView;
  90. }
  91. @Override
  92. protected String getTestDescription() {
  93. return "MenuItem's tooltip should be visible even when "
  94. + "the MenuBar is located within a Window, PopupView, "
  95. + "or some other component that extends VOverlay";
  96. }
  97. @Override
  98. protected Integer getTicketNumber() {
  99. return 11212;
  100. }
  101. }