123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- package com.vaadin.tests;
-
- import java.util.Iterator;
- import java.util.Vector;
-
- import com.vaadin.server.UserError;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.CustomComponent;
- import com.vaadin.ui.Label;
- import com.vaadin.ui.Layout;
- import com.vaadin.ui.VerticalLayout;
- import com.vaadin.v7.ui.Table;
-
- /**
- *
- * This Component contains some simple test to see that component updates its
- * contents propertly.
- *
- * @author Vaadin Ltd.
- */
- public class TestForTablesInitialColumnWidthLogicRendering
- extends CustomComponent {
-
- private final VerticalLayout main = new VerticalLayout();
-
- public TestForTablesInitialColumnWidthLogicRendering() {
-
- setCompositionRoot(main);
- createNewView();
- }
-
- public void createNewView() {
- main.removeAllComponents();
- main.addComponent(new Label(
- "Below are same tables that all should render somewhat nice. Also when testing, you might want to try resizing window."));
-
- Table t;
-
- Layout lo = new VerticalLayout();
- lo.setWidth("600px");
- lo.setHeight("250px");
-
- t = getTestTable(4, 50);
- t.setSizeFull();
- lo.setCaption("Fullsize table insize 400x250px layout");
- lo.addComponent(t);
- main.addComponent(lo);
-
- // t = new Table("Empty table");
- // main.addComponent(t);
-
- t = getTestTable(5, 0);
- t.setCaption("Table with only headers");
- // main.addComponent(t);
-
- t = getTestTable(5, 200);
- t.setCaption("Table with some cols and lot of rows");
- main.addComponent(t);
-
- t = getTestTable(5, 5);
- t.setCaption(
- "Table with some cols and rows rows, some col widths fixed");
-
- Iterator<?> it = t.getContainerPropertyIds().iterator();
- it.next();
- it.next();
- t.setColumnWidth(it.next(), 30);
- t.setColumnWidth(it.next(), 30);
- t.setWidth("700px");
- main.addComponent(t);
-
- t = getTestTable(12, 4);
- t.setCaption("Table with some rows and lot of columns");
- main.addComponent(t);
-
- t = getTestTable(3, 40);
- t.setCaption(
- "Table with some columns and wide explicit width. (Ought to widen columns to use all space)");
- t.setWidth("1000px");
- main.addComponent(t);
-
- t = getTestTable(12, 4);
- t.setCaption("Table with some rows and lot of columns, width == 100%");
- t.setWidth(100, Table.UNITS_PERCENTAGE);
- main.addComponent(t);
-
- t = getTestTable(12, 100);
- t.setCaption(
- "Table with lot of rows and lot of columns, width == 50%");
- t.setWidth(50, Table.UNITS_PERCENTAGE);
- main.addComponent(t);
-
- t = getTestTable(5, 100);
- t.setCaption("Table with 40 rows");
- // main.addComponent(t);
-
- t = getTestTable(4, 4);
- t.setCaption("Table with some rows and width = 200px");
-
- t.setWidth("200px");
- main.addComponent(t);
-
- final Button b = new Button("refresh view", event -> createNewView());
- main.addComponent(b);
- }
-
- public static Table getTestTable(int cols, int rows) {
- final Table t = new Table();
- t.setColumnCollapsingAllowed(true);
- for (int i = 0; i < cols; i++) {
- t.addContainerProperty(testString[i], String.class, "");
- }
- t.addContainerProperty("button", Button.class, null);
- for (int i = 0; i < rows; i++) {
- final Vector<Object> content = new Vector<>();
- for (int j = 0; j < cols; j++) {
- content.add(rndString());
- }
- Button button = new Button("b",
- event -> System.out.println("b click"));
- button.setDescription("Yep yep");
- button.setComponentError(new UserError("Error"));
- content.add(button);
- t.addItem(content.toArray(), "" + i);
- }
- return t;
- }
-
- static String[] testString = { "Jacob", "Michael", "Joshua", "Matthew",
- "Ethan", "Andrew", "Daniel", "Anthony", "Christopher", "Joseph",
- "William", "Alexander", "Ryan", "David", "Nicholas", "Tyler",
- "James", "John", "Jonathan", "Nathan", "Samuel", "Christian",
- "Noah", "Dylan", "Benjamin", "Logan", "Brandon", "Gabriel",
- "Zachary", "Jose", "Elijah", "Angel", "Kevin", "Jack", "Caleb",
- "Justin", "Austin", "Evan", "Robert", "Thomas", "Luke", "Mason",
- "Aidan", "Jackson", "Isaiah", "Jordan", "Gavin", "Connor", "Aiden",
- "Isaac", "Jason", "Cameron", "Hunter", "Jayden", "Juan", "Charles",
- "Aaron", "Lucas", "Luis", "Owen", "Landon", "Diego", "Brian",
- "Adam", "Adrian", "Kyle", "Eric", "Ian", "Nathaniel", "Carlos",
- "Alex", "Bryan", "Jesus", "Julian", "Sean", "Carter", "Hayden",
- "Jeremiah", "Cole", "Brayden", "Wyatt", "Chase", "Steven",
- "Timothy", "Dominic", "Sebastian", "Xavier", "Jaden", "Jesse",
- "Devin", "Seth", "Antonio", "Richard", "Miguel", "Colin", "Cody",
- "Alejandro", "Caden", "Blake", "Carson" };
-
- public static String rndString() {
- return testString[(int) (Math.random() * testString.length)];
- }
-
- }
|