123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- package com.vaadin.tests.components.table;
-
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.tests.components.AbstractReindeerTestUI;
- import com.vaadin.tests.components.TestDateField;
- import com.vaadin.ui.AbstractDateField;
- import com.vaadin.ui.AbstractOrderedLayout;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.GridLayout;
- import com.vaadin.ui.HasChildMeasurementHint.ChildMeasurementHint;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.Label;
- import com.vaadin.v7.ui.ComboBox;
- import com.vaadin.v7.ui.Table;
- import com.vaadin.v7.ui.TextField;
-
- public class TableChildMeasurementHint extends AbstractReindeerTestUI {
-
- private HorizontalLayout buttonLayout = new HorizontalLayout();
- private HorizontalLayout layout;
- private Table table1, table2, table3;
-
- @Override
- public void setup(VaadinRequest request) {
- initMain();
- }
-
- protected void initMain() {
- ((AbstractOrderedLayout) getContent()).setMargin(false);
- layout = new HorizontalLayout();
- layout.setSizeFull();
- buttonLayout.setSpacing(false);
- addComponent(buttonLayout);
- addComponent(layout);
-
- table1 = createTable();
- table1.setSizeFull();
- table1.setChildMeasurementHint(ChildMeasurementHint.MEASURE_ALWAYS);
-
- table2 = createTable();
- table2.setSizeFull();
- table2.setChildMeasurementHint(ChildMeasurementHint.MEASURE_IF_NEEDED);
-
- table3 = createTable();
- table3.setSizeFull();
- table3.setChildMeasurementHint(ChildMeasurementHint.MEASURE_NEVER);
-
- buttonLayout.addComponent(new Button("Show table1", event -> {
- layout.addComponent(table1);
- table1.focus();
- }));
- buttonLayout.addComponent(new Button("Show table2", event -> {
- layout.removeComponent(table1);
- layout.addComponent(table2);
- table2.focus();
- }));
- buttonLayout.addComponent(new Button("Show table3", event -> {
- layout.removeComponent(table2);
- layout.addComponent(table3);
- table3.focus();
- }));
-
- }
-
- protected Table createTable() {
- Table table = new Table();
- table.setSelectable(true);
- table.setPageLength(39);
-
- for (int i = 0; i < 5; i++) {
- table.addContainerProperty("First_Name" + i, String.class, null);
- table.addContainerProperty("Last Name" + i, String.class, null);
- table.addContainerProperty("Year" + i, Integer.class, null);
- }
-
- /* Add a few items in the table. */
- int j = 0;
- for (int i = 0; i < 2; i++) {
- table.addItem(
- makeRow(new Object[] { "Nicolaus" + i, "Copernicus", 1473 },
- 5),
- j++);
- table.addItem(
- makeRow(new Object[] { "Tycho" + i, "Brahe", 1546 }, 5),
- j++);
- table.addItem(
- makeRow(new Object[] { "Giordano" + i, "Bruno", 1548 }, 5),
- j++);
- table.addItem(
- makeRow(new Object[] { "Galileo" + i, "Galilei", 1564 }, 5),
- j++);
- table.addItem(
- makeRow(new Object[] { "Johannes" + i, "Kepler", 1571 }, 5),
- j++);
- table.addItem(
- makeRow(new Object[] { "Isaac" + i, "Newton", 1643 }, 5),
- j++);
- }
-
- table.addGeneratedColumn("First_Name" + 0, new Table.ColumnGenerator() {
- @Override
- public Object generateCell(Table components, Object o, Object o2) {
- ComboBox b = new ComboBox("ComboBox");
- b.setWidthUndefined();
- return b;
- }
- });
-
- table.addGeneratedColumn("First_Name" + 1, new Table.ColumnGenerator() {
- @Override
- public Object generateCell(Table components, Object o, Object o2) {
- GridLayout b = new GridLayout();
- b.addComponents(new Label("l1"), new Button("b"),
- new Label("l2"));
- b.setWidthUndefined();
- return b;
- }
- });
-
- table.addGeneratedColumn("First_Name" + 2, new Table.ColumnGenerator() {
- @Override
- public Object generateCell(Table components, Object o, Object o2) {
- Button b = new Button("Button");
- b.setWidthUndefined();
- return b;
- }
- });
-
- table.addGeneratedColumn("First_Name" + 3, new Table.ColumnGenerator() {
- @Override
- public Object generateCell(Table components, Object o, Object o2) {
- TextField b = new TextField("Textfield");
- b.setWidthUndefined();
- return b;
- }
- });
-
- table.addGeneratedColumn("First_Name" + 4, new Table.ColumnGenerator() {
- @Override
- public Object generateCell(Table components, Object o, Object o2) {
- AbstractDateField<?, ?> b = new TestDateField("DateField");
- b.setWidthUndefined();
- return b;
- }
- });
-
- table.addGeneratedColumn("First_Name" + 5, new Table.ColumnGenerator() {
- @Override
- public Object generateCell(Table components, Object o, Object o2) {
- Label b = new Label("Label");
- b.setWidthUndefined();
- return b;
- }
- });
-
- return table;
- }
-
- protected Object[] makeRow(Object[] data, int c) {
- Object[] row = new Object[c * data.length];
- for (int j = 0; j < c; j++) {
- int x = 0;
- for (Object value : data) {
- row[j * data.length + x] = value;
- x++;
- }
- }
-
- return row;
- }
- }
|