diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/tickets/Ticket2289.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/tickets/Ticket2289.java | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/tickets/Ticket2289.java b/uitest/src/com/vaadin/tests/tickets/Ticket2289.java new file mode 100644 index 0000000000..c715fafd74 --- /dev/null +++ b/uitest/src/com/vaadin/tests/tickets/Ticket2289.java @@ -0,0 +1,101 @@ +package com.vaadin.tests.tickets; + +import com.vaadin.Application; +import com.vaadin.ui.Accordion; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.CustomComponent; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Label; +import com.vaadin.ui.UI.LegacyWindow; +import com.vaadin.ui.TabSheet; +import com.vaadin.ui.VerticalLayout; + +public class Ticket2289 extends Application.LegacyApplication { + + TabSheet ts = null; + Accordion acc = null; + + @Override + public void init() { + + LegacyWindow w = new LegacyWindow(); + setMainWindow(w); + VerticalLayout ol = new VerticalLayout(); + w.setContent(ol); + Button b = new Button("close current tab"); + b.addListener(new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + closeCurrentTab(); + + } + }); + ol.addComponent(b); + + b = new Button("close first tab"); + b.addListener(new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + closeFirstTab(); + + } + }); + + ol.addComponent(b); + ts = new TabSheet(); + ts.setSizeUndefined(); + ts.setWidth("300px"); + ts.addTab(new MyTab("tab one"), "Caption1", null); + ts.addTab(new MyTab("tab two"), "Caption2", null); + ts.addTab(new MyTab("tab three"), "Caption3", null); + ts.addTab(new MyTab("tab four"), "Caption4", null); + ts.addTab(new MyTab("tab five"), "Caption5", null); + + acc = new Accordion(); + acc.setSizeUndefined(); + acc.addTab(new MyTab("tab one"), "Caption1", null); + acc.addTab(new MyTab("tab two"), "Caption2", null); + acc.addTab(new MyTab("tab three"), "Caption3", null); + acc.addTab(new MyTab("tab four"), "Caption4", null); + + ol.addComponent(acc); + ts = null; + // ol.addComponent(ts); + + } + + private void closeCurrentTab() { + if (ts != null) { + MyTab m = (MyTab) ts.getSelectedTab(); + if (m != null) { + ts.removeComponent(m); + } + } + if (acc != null) { + MyTab m = (MyTab) acc.getSelectedTab(); + if (m != null) { + acc.removeComponent(m); + } + } + } + + private void closeFirstTab() { + if (ts != null) { + ts.removeComponent(ts.getComponentIterator().next()); + } + if (acc != null) { + acc.removeComponent(acc.getComponentIterator().next()); + } + } + +} + +class MyTab extends CustomComponent { + public MyTab(String text) { + setSizeUndefined(); + HorizontalLayout ol = new HorizontalLayout(); + setCompositionRoot(ol); + ol.addComponent(new Label(text)); + } +}
\ No newline at end of file |