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.

EnableState.java 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.vaadin.tests.components.abstractcomponent;
  2. import com.vaadin.tests.components.AbstractTestCase;
  3. import com.vaadin.ui.Button;
  4. import com.vaadin.ui.CheckBox;
  5. import com.vaadin.ui.LegacyWindow;
  6. import com.vaadin.ui.Panel;
  7. import com.vaadin.ui.VerticalLayout;
  8. public class EnableState extends AbstractTestCase {
  9. @Override
  10. public void init() {
  11. LegacyWindow mainWindow = new LegacyWindow("Helloworld Application");
  12. VerticalLayout panelLayout = new VerticalLayout();
  13. panelLayout.setMargin(true);
  14. final Panel panel = new Panel("Test", panelLayout);
  15. final Button button = new Button("ablebutton");
  16. panelLayout.addComponent(button);
  17. CheckBox enable = new CheckBox("Toggle button enabled", true);
  18. enable.addValueChangeListener(event -> {
  19. boolean enabled = event.getValue();
  20. button.setEnabled(enabled);
  21. // button.requestRepaint();
  22. });
  23. CheckBox caption = new CheckBox("Toggle button caption", true);
  24. caption.addValueChangeListener(
  25. event -> button.setCaption(button.getCaption() + "+"));
  26. CheckBox visible = new CheckBox("Toggle panel visibility", true);
  27. visible.addValueChangeListener(
  28. event -> panel.setVisible(event.getValue()));
  29. CheckBox panelEnable = new CheckBox("Toggle panel enabled", true);
  30. panelEnable.addValueChangeListener(
  31. event -> panel.setEnabled(event.getValue()));
  32. mainWindow.addComponent(enable);
  33. mainWindow.addComponent(caption);
  34. mainWindow.addComponent(visible);
  35. mainWindow.addComponent(panelEnable);
  36. mainWindow.addComponent(panel);
  37. setMainWindow(mainWindow);
  38. }
  39. @Override
  40. protected String getDescription() {
  41. return "This tests the enabled/disabled propagation and that enabled/disabled state is updated"
  42. + " properly even when the parent is invisible. Disabling the Button while the panel is"
  43. + " invisible should be reflected on the screen when the panel is set visible"
  44. + " again.";
  45. }
  46. @Override
  47. protected Integer getTicketNumber() {
  48. return 3609;
  49. }
  50. }