123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package com.vaadin.tests.components.popupview;
-
- import java.util.ArrayList;
- import java.util.List;
-
- import com.vaadin.shared.ui.ContentMode;
- import com.vaadin.tests.components.TestBase;
- import com.vaadin.tests.util.LoremIpsum;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.Button.ClickEvent;
- import com.vaadin.ui.Button.ClickListener;
- import com.vaadin.ui.Component;
- import com.vaadin.ui.GridLayout;
- import com.vaadin.ui.Label;
- import com.vaadin.ui.Panel;
- import com.vaadin.ui.PopupView;
- import com.vaadin.ui.VerticalLayout;
- import com.vaadin.v7.ui.themes.BaseTheme;
-
- public class PopupViewOffScreen extends TestBase {
-
- private List<PopupView> popupViews = new ArrayList<>();
-
- @Override
- protected String getDescription() {
- return "A popupview should be displayed on screen. If the popup position is close to a border it should be moved so it is still on screen.";
- }
-
- @Override
- protected Integer getTicketNumber() {
- return 3099;
- }
-
- @Override
- protected void setup() {
- GridLayout gl = new GridLayout(3, 3);
- gl.setSizeFull();
- Label expander = new Label();
- gl.addComponent(expander, 1, 1);
- gl.setColumnExpandRatio(1, 1);
- gl.setRowExpandRatio(1, 1);
-
- Button showall = new Button("Popup all", new ClickListener() {
-
- @Override
- public void buttonClick(ClickEvent event) {
- for (PopupView pv : popupViews) {
- pv.setPopupVisible(true);
- }
- }
- });
- gl.addComponent(showall, 1, 0);
- gl.addComponent(createPopupView("red"), 0, 0);
- gl.addComponent(createPopupView("green"), 2, 0);
- gl.addComponent(createPopupView("blue"), 0, 2);
- gl.addComponent(createPopupView("yellow"), 2, 2);
-
- addComponent(gl);
- gl.getParent().setSizeFull();
- }
-
- private Component createPopupView(String bg) {
- VerticalLayout vl = new VerticalLayout();
- vl.setSpacing(false);
- vl.setMargin(false);
- vl.setSizeFull();
- vl.addStyleName(BaseTheme.CLIP);
-
- Panel p = new Panel(vl);
- p.setWidth("400px");
- p.setHeight("400px");
-
- Label l = new Label(
- "<div style='width: 100%; height: 100%; background: " + bg
- + "'>" + LoremIpsum.get(2000) + "</div>",
- ContentMode.HTML);
- l.setSizeFull();
- vl.addComponent(l);
- PopupView pv = new PopupView("Click here to popup", p);
-
- popupViews.add(pv);
- return pv;
- }
- }
|