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 3.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.vaadin.tests.components.abstractcomponent;
  2. import com.vaadin.data.Property;
  3. import com.vaadin.data.Property.ValueChangeEvent;
  4. import com.vaadin.tests.components.AbstractTestCase;
  5. import com.vaadin.ui.Button;
  6. import com.vaadin.ui.CheckBox;
  7. import com.vaadin.ui.LegacyWindow;
  8. import com.vaadin.ui.Panel;
  9. import com.vaadin.ui.VerticalLayout;
  10. public class EnableState extends AbstractTestCase {
  11. @Override
  12. public void init() {
  13. LegacyWindow mainWindow = new LegacyWindow("Helloworld Application");
  14. VerticalLayout panelLayout = new VerticalLayout();
  15. panelLayout.setMargin(true);
  16. final Panel panel = new Panel("Test", panelLayout);
  17. final Button button = new Button("ablebutton");
  18. panelLayout.addComponent(button);
  19. CheckBox enable = new CheckBox("Toggle button enabled", true);
  20. enable.addListener(new Property.ValueChangeListener() {
  21. @Override
  22. public void valueChange(ValueChangeEvent event) {
  23. boolean enabled = (Boolean) event.getProperty().getValue();
  24. button.setEnabled(enabled);
  25. // button.requestRepaint();
  26. }
  27. });
  28. enable.setImmediate(true);
  29. CheckBox caption = new CheckBox("Toggle button caption", true);
  30. caption.addListener(new Property.ValueChangeListener() {
  31. @Override
  32. public void valueChange(ValueChangeEvent event) {
  33. button.setCaption(button.getCaption() + "+");
  34. }
  35. });
  36. caption.setImmediate(true);
  37. CheckBox visible = new CheckBox("Toggle panel visibility", true);
  38. visible.addListener(new Property.ValueChangeListener() {
  39. @Override
  40. public void valueChange(ValueChangeEvent event) {
  41. boolean visible = (Boolean) event.getProperty().getValue();
  42. panel.setVisible(visible);
  43. }
  44. });
  45. visible.setImmediate(true);
  46. CheckBox panelEnable = new CheckBox("Toggle panel enabled", true);
  47. panelEnable.addListener(new Property.ValueChangeListener() {
  48. @Override
  49. public void valueChange(ValueChangeEvent event) {
  50. boolean enabled = (Boolean) event.getProperty().getValue();
  51. panel.setEnabled(enabled);
  52. }
  53. });
  54. panelEnable.setImmediate(true);
  55. mainWindow.addComponent(enable);
  56. mainWindow.addComponent(caption);
  57. mainWindow.addComponent(visible);
  58. mainWindow.addComponent(panelEnable);
  59. mainWindow.addComponent(panel);
  60. setMainWindow(mainWindow);
  61. }
  62. @Override
  63. protected String getDescription() {
  64. return "This tests the enabled/disabled propagation and that enabled/disabled state is updated"
  65. + " properly even when the parent is invisible. Disabling the Button while the panel is"
  66. + " invisible should be reflected on the screen when the panel is set visible"
  67. + " again.";
  68. }
  69. @Override
  70. protected Integer getTicketNumber() {
  71. return 3609;
  72. }
  73. }