aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/components/DisableEnableCascade.java
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/DisableEnableCascade.java')
-rw-r--r--uitest/src/com/vaadin/tests/components/DisableEnableCascade.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/DisableEnableCascade.java b/uitest/src/com/vaadin/tests/components/DisableEnableCascade.java
new file mode 100644
index 0000000000..cd284224a0
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/DisableEnableCascade.java
@@ -0,0 +1,93 @@
+package com.vaadin.tests.components;
+
+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.Panel;
+import com.vaadin.ui.TabSheet;
+
+public class DisableEnableCascade extends TestBase {
+
+ private Panel outerPanel;
+ private TabSheet innerTabsheet;
+ private Button button;
+ private Button enableDisablePanelButton;
+ private Button enableDisableTabSheetButton;
+ private Button enableDisableButtonButton;
+
+ @Override
+ protected void setup() {
+
+ outerPanel = new Panel("Outer panel, enabled");
+ innerTabsheet = new TabSheet();
+ innerTabsheet.setCaption("Inner Tabsheet, enabled");
+
+ button = new Button("Button, enabled");
+
+ outerPanel.setContent(innerTabsheet);
+ innerTabsheet.addTab(button, "Tab containing button");
+
+ addComponent(outerPanel);
+
+ enableDisablePanelButton = new Button("Disable panel",
+ new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ enableDisable(outerPanel, enableDisablePanelButton);
+
+ }
+ });
+
+ enableDisableTabSheetButton = new Button("Disable TabSheet",
+ new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ enableDisable(innerTabsheet,
+ enableDisableTabSheetButton);
+
+ }
+ });
+
+ enableDisableButtonButton = new Button("Disable Button",
+ new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ enableDisable(button, enableDisableButtonButton);
+
+ }
+ });
+
+ addComponent(enableDisablePanelButton);
+ addComponent(enableDisableTabSheetButton);
+ addComponent(enableDisableButtonButton);
+ }
+
+ protected void enableDisable(Component target, Button button) {
+ if (target.isEnabled()) {
+ target.setEnabled(false);
+ button.setCaption(button.getCaption().replace("Disable", "Enable"));
+ target.setCaption(target.getCaption()
+ .replace("enabled", "disabled"));
+ } else {
+ target.setEnabled(true);
+ button.setCaption(button.getCaption().replace("Enable", "Disable"));
+ target.setCaption(target.getCaption()
+ .replace("disabled", "enabled"));
+ }
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Tests the disable state is cascaded correctly to children. Disabling a parent should disabled its children aswell. The buttons only toggle the state of the target component.";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 8507;
+ }
+
+}