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