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.

TestForGridLayoutChildComponentRendering.java 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.itmill.toolkit.tests;
  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import com.itmill.toolkit.terminal.ExternalResource;
  5. import com.itmill.toolkit.ui.Button;
  6. import com.itmill.toolkit.ui.Component;
  7. import com.itmill.toolkit.ui.CustomComponent;
  8. import com.itmill.toolkit.ui.GridLayout;
  9. import com.itmill.toolkit.ui.Label;
  10. import com.itmill.toolkit.ui.Link;
  11. import com.itmill.toolkit.ui.OrderedLayout;
  12. import com.itmill.toolkit.ui.Select;
  13. /**
  14. *
  15. * This Component contains some simple test to see that component updates its
  16. * contents propertly.
  17. *
  18. * @author IT Mill Ltd.
  19. */
  20. public class TestForGridLayoutChildComponentRendering extends CustomComponent {
  21. private GridLayout main = new GridLayout(2, 3);
  22. public TestForGridLayoutChildComponentRendering() {
  23. setCompositionRoot(main);
  24. createNewView();
  25. }
  26. public void createNewView() {
  27. main.removeAllComponents();
  28. main.addComponent(new Label("SDFGFHFHGJGFDSDSSSGFDD"));
  29. Link l = new Link();
  30. l.setCaption("Siirry ITMILLIIN");
  31. l.setResource(new ExternalResource("http://www.itmill.com/"));
  32. l.setTargetHeight(200);
  33. l.setTargetWidth(500);
  34. l.setTargetBorder(Link.TARGET_BORDER_MINIMAL);
  35. main.addComponent(l);
  36. Select se = new Select("Tästä valitaan");
  37. se.setCaption("Whattaa select");
  38. se.addItem("valinta1");
  39. se.addItem("Valinta 2");
  40. main.addComponent(se, 0, 1, 1, 1);
  41. Button b = new Button("refresh view", this, "createNewView");
  42. main.addComponent(b);
  43. b = new Button("reorder view", this, "randomReorder");
  44. main.addComponent(b);
  45. b = new Button("remove randomly one component", this,
  46. "removeRandomComponent");
  47. main.addComponent(b);
  48. }
  49. public void randomReorder() {
  50. Iterator it = main.getComponentIterator();
  51. ArrayList components = new ArrayList();
  52. while (it.hasNext())
  53. components.add(it.next());
  54. main.removeAllComponents();
  55. int size = components.size();
  56. int colspanIndex = ((int) (Math.random() * size) / 2) * 2 + 2;
  57. for (int i = components.size(); i > 0; i--) {
  58. int index = (int) (Math.random() * i);
  59. if (i == colspanIndex)
  60. main.addComponent((Component) components.get(index), 0,
  61. (size - i) / 2, 1, (size - i) / 2);
  62. else
  63. main.addComponent((Component) components.get(index));
  64. components.remove(index);
  65. }
  66. }
  67. public void removeRandomComponent() {
  68. Iterator it = main.getComponentIterator();
  69. ArrayList components = new ArrayList();
  70. while (it.hasNext())
  71. components.add(it.next());
  72. int size = components.size();
  73. int index = (int) (Math.random() * size);
  74. main.removeComponent((Component) components.get(index));
  75. }
  76. }