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.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.vaadin.tests.components;
  2. import com.vaadin.ui.Button;
  3. import com.vaadin.ui.Component;
  4. import com.vaadin.ui.Panel;
  5. import com.vaadin.ui.TabSheet;
  6. public class DisableEnableCascade extends TestBase {
  7. private Panel outerPanel;
  8. private TabSheet innerTabsheet;
  9. private Button button;
  10. private Button enableDisablePanelButton;
  11. private Button enableDisableTabSheetButton;
  12. private Button enableDisableButtonButton;
  13. @Override
  14. protected void setup() {
  15. outerPanel = new Panel("Outer panel, enabled");
  16. innerTabsheet = new TabSheet();
  17. innerTabsheet.setCaption("Inner Tabsheet, enabled");
  18. button = new Button("Button, enabled");
  19. outerPanel.setContent(innerTabsheet);
  20. innerTabsheet.addTab(button, "Tab containing button");
  21. addComponent(outerPanel);
  22. enableDisablePanelButton = new Button("Disable panel",
  23. event -> enableDisable(outerPanel, enableDisablePanelButton));
  24. enableDisableTabSheetButton = new Button("Disable TabSheet",
  25. event -> enableDisable(innerTabsheet,
  26. enableDisableTabSheetButton));
  27. enableDisableButtonButton = new Button("Disable Button",
  28. event -> enableDisable(button, enableDisableButtonButton));
  29. addComponent(enableDisablePanelButton);
  30. addComponent(enableDisableTabSheetButton);
  31. addComponent(enableDisableButtonButton);
  32. }
  33. protected void enableDisable(Component target, Button button) {
  34. if (target.isEnabled()) {
  35. target.setEnabled(false);
  36. button.setCaption(button.getCaption().replace("Disable", "Enable"));
  37. target.setCaption(
  38. target.getCaption().replace("enabled", "disabled"));
  39. } else {
  40. target.setEnabled(true);
  41. button.setCaption(button.getCaption().replace("Enable", "Disable"));
  42. target.setCaption(
  43. target.getCaption().replace("disabled", "enabled"));
  44. }
  45. }
  46. @Override
  47. protected String getDescription() {
  48. return "Tests the disable state is cascaded correctly to children. Disabling a parent should disabled its children as well. The buttons only toggle the state of the target component.";
  49. }
  50. @Override
  51. protected Integer getTicketNumber() {
  52. return 8507;
  53. }
  54. }