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.

ColumnHeaderAlignments.java 3.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.vaadin.tests.components.table;
  2. import com.vaadin.data.Item;
  3. import com.vaadin.data.Property.ValueChangeEvent;
  4. import com.vaadin.data.Property.ValueChangeListener;
  5. import com.vaadin.tests.components.TestBase;
  6. import com.vaadin.ui.CheckBox;
  7. import com.vaadin.ui.HorizontalLayout;
  8. import com.vaadin.ui.Select;
  9. import com.vaadin.ui.Table;
  10. @SuppressWarnings("serial")
  11. public class ColumnHeaderAlignments extends TestBase {
  12. private static final String BAZ = "Baz (right)";
  13. private static final String BAR = "Bar (center)";
  14. private static final String FOO = "Foo (left)";
  15. private Table fooTable;
  16. private Table barTable;
  17. private Table bazTable;
  18. @Override
  19. protected void setup() {
  20. Select theme = new Select();
  21. theme.addItem("reindeer");
  22. theme.addItem("runo");
  23. theme.addItem("base");
  24. theme.setValue("reindeer");
  25. theme.setNullSelectionAllowed(false);
  26. theme.setImmediate(true);
  27. theme.addListener(new ValueChangeListener() {
  28. @Override
  29. public void valueChange(ValueChangeEvent event) {
  30. setTheme(String.valueOf(event.getProperty().getValue()));
  31. }
  32. });
  33. addComponent(theme);
  34. CheckBox footers = new CheckBox("Show footers");
  35. footers.addListener(new ValueChangeListener() {
  36. @Override
  37. public void valueChange(ValueChangeEvent event) {
  38. boolean visible = (Boolean) event.getProperty().getValue();
  39. fooTable.setFooterVisible(visible);
  40. barTable.setFooterVisible(visible);
  41. bazTable.setFooterVisible(visible);
  42. }
  43. });
  44. footers.setImmediate(true);
  45. addComponent(footers);
  46. HorizontalLayout tables = new HorizontalLayout();
  47. fooTable = createTable(null);
  48. tables.addComponent(fooTable);
  49. barTable = createTable("strong");
  50. tables.addComponent(barTable);
  51. bazTable = createTable("black");
  52. tables.addComponent(bazTable);
  53. addComponent(tables);
  54. }
  55. private Table createTable(String style) {
  56. Table table = new Table();
  57. table.addContainerProperty(FOO, String.class, "");
  58. table.addContainerProperty(BAR, String.class, "");
  59. table.addContainerProperty(BAZ, String.class, "");
  60. table.setColumnAlignment(FOO, Table.ALIGN_LEFT);
  61. table.setColumnAlignment(BAR, Table.ALIGN_CENTER);
  62. table.setColumnAlignment(BAZ, Table.ALIGN_RIGHT);
  63. if (style != null) {
  64. table.setStyleName(style);
  65. }
  66. for (int i = 0; i < 100; i++) {
  67. Item item = table.addItem(i);
  68. item.getItemProperty(FOO).setValue("foo");
  69. item.getItemProperty(BAR).setValue("bar");
  70. item.getItemProperty(BAZ).setValue("baz");
  71. }
  72. return table;
  73. }
  74. @Override
  75. protected String getDescription() {
  76. return "Aligned column headers should have style names telling the alignment";
  77. }
  78. @Override
  79. protected Integer getTicketNumber() {
  80. return 5066;
  81. }
  82. }