You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DisableEnableCascade.java 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.vaadin.tests.components;
  2. import com.vaadin.ui.Button;
  3. import com.vaadin.ui.Button.ClickEvent;
  4. import com.vaadin.ui.Button.ClickListener;
  5. import com.vaadin.ui.Component;
  6. import com.vaadin.ui.Panel;
  7. import com.vaadin.ui.TabSheet;
  8. public class DisableEnableCascade extends TestBase {
  9. private Panel outerPanel;
  10. private TabSheet innerTabsheet;
  11. private Button button;
  12. private Button enableDisablePanelButton;
  13. private Button enableDisableTabSheetButton;
  14. private Button enableDisableButtonButton;
  15. @Override
  16. protected void setup() {
  17. outerPanel = new Panel("Outer panel, enabled");
  18. innerTabsheet = new TabSheet();
  19. innerTabsheet.setCaption("Inner Tabsheet, enabled");
  20. button = new Button("Button, enabled");
  21. outerPanel.setContent(innerTabsheet);
  22. innerTabsheet.addTab(button, "Tab containing button");
  23. addComponent(outerPanel);
  24. enableDisablePanelButton = new Button("Disable panel",
  25. new ClickListener() {
  26. @Override
  27. public void buttonClick(ClickEvent event) {
  28. enableDisable(outerPanel, enableDisablePanelButton);
  29. }
  30. });
  31. enableDisableTabSheetButton = new Button("Disable TabSheet",
  32. new ClickListener() {
  33. @Override
  34. public void buttonClick(ClickEvent event) {
  35. enableDisable(innerTabsheet,
  36. enableDisableTabSheetButton);
  37. }
  38. });
  39. enableDisableButtonButton = new Button("Disable Button",
  40. new ClickListener() {
  41. @Override
  42. public void buttonClick(ClickEvent event) {
  43. enableDisable(button, enableDisableButtonButton);
  44. }
  45. });
  46. addComponent(enableDisablePanelButton);
  47. addComponent(enableDisableTabSheetButton);
  48. addComponent(enableDisableButtonButton);
  49. }
  50. protected void enableDisable(Component target, Button button) {
  51. if (target.isEnabled()) {
  52. target.setEnabled(false);
  53. button.setCaption(button.getCaption().replace("Disable", "Enable"));
  54. target.setCaption(
  55. target.getCaption().replace("enabled", "disabled"));
  56. } else {
  57. target.setEnabled(true);
  58. button.setCaption(button.getCaption().replace("Enable", "Disable"));
  59. target.setCaption(
  60. target.getCaption().replace("disabled", "enabled"));
  61. }
  62. }
  63. @Override
  64. protected String getDescription() {
  65. 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.";
  66. }
  67. @Override
  68. protected Integer getTicketNumber() {
  69. return 8507;
  70. }
  71. }