Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

DisableEnableCascadeStyles.java 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.vaadin.tests.components;
  2. import java.util.Iterator;
  3. import com.vaadin.ui.Button;
  4. import com.vaadin.ui.Component;
  5. import com.vaadin.ui.NativeButton;
  6. import com.vaadin.ui.Panel;
  7. import com.vaadin.ui.TabSheet;
  8. import com.vaadin.ui.VerticalLayout;
  9. import com.vaadin.v7.ui.TextArea;
  10. import com.vaadin.v7.ui.TextField;
  11. public class DisableEnableCascadeStyles extends TestBase {
  12. private Panel outerPanel;
  13. private TabSheet innerTabsheet;
  14. private Button button;
  15. private TextArea textArea;
  16. private TextField textField;
  17. private VerticalLayout layout;
  18. private NativeButton nativeButton;
  19. private Button enableDisablePanelButton;
  20. private Button enableDisableTabSheetButton;
  21. private Button enableDisableLayoutButton;
  22. private Button enableDisableComponentsButton;
  23. @Override
  24. protected void setup() {
  25. outerPanel = new Panel("Outer panel, enabled");
  26. innerTabsheet = new TabSheet();
  27. innerTabsheet.setCaption("Inner Tabsheet, enabled");
  28. button = new Button("Button, enabled");
  29. nativeButton = new NativeButton("NativeButton, enabled");
  30. textField = new TextField("TextField with caption and value, enabled");
  31. textField.setValue("Text");
  32. textArea = new TextArea("TextArea with caption and value, enabled");
  33. textArea.setValue("Text");
  34. layout = new VerticalLayout();
  35. layout.setCaption("VerticalLayout, enabled");
  36. layout.addComponent(button);
  37. layout.addComponent(nativeButton);
  38. layout.addComponent(textField);
  39. layout.addComponent(textArea);
  40. outerPanel.setContent(innerTabsheet);
  41. innerTabsheet.addTab(layout, "Tab containing layout");
  42. addComponent(outerPanel);
  43. enableDisablePanelButton = new Button("Disable panel",
  44. event -> enableDisable(outerPanel, enableDisablePanelButton));
  45. enableDisableTabSheetButton = new Button("Disable TabSheet",
  46. event -> enableDisable(innerTabsheet,
  47. enableDisableTabSheetButton));
  48. enableDisableLayoutButton = new Button("Disable Tab content (Layout)",
  49. event -> enableDisable(layout, enableDisableLayoutButton));
  50. enableDisableComponentsButton = new Button("Disable Layout Components",
  51. event -> {
  52. for (Iterator<Component> i = layout
  53. .getComponentIterator(); i.hasNext();) {
  54. final Component c = i.next();
  55. if (c.isEnabled()) {
  56. c.setEnabled(false);
  57. c.setCaption(c.getCaption().replace("enabled",
  58. "disabled"));
  59. } else {
  60. c.setEnabled(true);
  61. c.setCaption(c.getCaption().replace("disabled",
  62. "enabled"));
  63. }
  64. }
  65. if (layout.getComponent(0).isEnabled()) {
  66. enableDisableComponentsButton.setCaption(
  67. enableDisableComponentsButton.getCaption()
  68. .replace("Enable", "Disable"));
  69. } else {
  70. enableDisableComponentsButton.setCaption(
  71. enableDisableComponentsButton.getCaption()
  72. .replace("Disable", "Enable"));
  73. }
  74. });
  75. addComponent(enableDisablePanelButton);
  76. addComponent(enableDisableTabSheetButton);
  77. addComponent(enableDisableLayoutButton);
  78. addComponent(enableDisableComponentsButton);
  79. }
  80. protected void enableDisable(Component target, Button button) {
  81. if (target.isEnabled()) {
  82. target.setEnabled(false);
  83. button.setCaption(button.getCaption().replace("Disable", "Enable"));
  84. target.setCaption(
  85. target.getCaption().replace("enabled", "disabled"));
  86. } else {
  87. target.setEnabled(true);
  88. button.setCaption(button.getCaption().replace("Enable", "Disable"));
  89. target.setCaption(
  90. target.getCaption().replace("disabled", "enabled"));
  91. }
  92. }
  93. @Override
  94. protected String getDescription() {
  95. return "Tests the disable state is cascaded correctly to children components that can be disabled. The children and their captions must get the v-disabled style name.";
  96. }
  97. @Override
  98. protected Integer getTicketNumber() {
  99. return 8708;
  100. }
  101. }