123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.vaadin.tests.components.splitpanel;
-
- import com.vaadin.server.Sizeable;
- import com.vaadin.tests.components.AbstractTestCase;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.Button.ClickEvent;
- import com.vaadin.ui.Button.ClickListener;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.HorizontalSplitPanel;
- import com.vaadin.ui.LegacyWindow;
- import com.vaadin.ui.NativeButton;
-
- public class SplitPanelExtraScrollbars extends AbstractTestCase
- implements ClickListener {
-
- private HorizontalSplitPanel sp;
- private HorizontalLayout hl;
- private Button b;
-
- @Override
- public void init() {
- sp = new HorizontalSplitPanel();
- sp.setSizeFull();
- sp.setSplitPosition(0, Sizeable.UNITS_PIXELS);
-
- hl = new HorizontalLayout();
- hl.setMargin(true);
- hl.setWidth("100%");
- hl.setHeight(null);
-
- b = createButton("200px");
- sp.setSecondComponent(hl);
- hl.addComponent(b);
-
- LegacyWindow w = new LegacyWindow("Test", sp);
- setMainWindow(w);
- }
-
- private Button createButton(String height) {
- Button b = new NativeButton("A BIG button");
- b.setHeight(height);
- b.addClickListener(this);
- return b;
- }
-
- @Override
- protected String getDescription() {
- return "Click the button to change its height. Making the button higher than the browser should not cause vertical but not horizontal scrollbars to appear.";
- }
-
- @Override
- protected Integer getTicketNumber() {
- return 3458;
- }
-
- @Override
- public void buttonClick(ClickEvent event) {
- if (b.getHeight() == 200) {
- b.setHeight("1200px");
- } else {
- b.setHeight("200px");
- }
-
- // Sending all changes in one repaint triggers the bug
- hl.markAsDirty();
- sp.markAsDirty();
- }
-
- }
|