package com.vaadin.tests.components.splitpanel; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.HorizontalSplitPanel; import com.vaadin.ui.Notification; import com.vaadin.ui.Panel; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.VerticalSplitPanel; public class SplitPanelSplitterWidth extends TestBase { @Override protected Integer getTicketNumber() { return 2510; } @Override protected String getDescription() { return "SplitPanel splitter is effectively a 1px wide target after unlocking previously locked splitter."; } @Override protected void setup() { final HorizontalSplitPanel split = new HorizontalSplitPanel(); split.setWidth("200px"); split.setHeight("200px"); split.setLocked(true); Panel p = buildPanel("Left"); p.setSizeFull(); split.addComponent(p); p = buildPanel("Right"); p.setSizeFull(); split.addComponent(p); final VerticalSplitPanel split2 = new VerticalSplitPanel(); split2.setWidth("200px"); split2.setHeight("200px"); split2.setLocked(true); p = buildPanel("Top"); p.setSizeFull(); split2.addComponent(p); p = buildPanel("Bottom"); p.setSizeFull(); split2.addComponent(p); getLayout() .addComponent(new Button("Unlock", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { split.setLocked(false); split2.setLocked(false); getMainWindow().showNotification( "Try moving split. Then reload page.", Notification.TYPE_WARNING_MESSAGE); getLayout().removeComponent(event.getButton()); } })); getLayout().addComponent(split); getLayout().addComponent(split2); } private Panel buildPanel(String caption) { VerticalLayout pl = new VerticalLayout(); pl.setMargin(true); return new Panel(caption, pl); } }