List of usage examples for com.google.gwt.gen2.table.client DefaultRowRenderer DefaultRowRenderer
public DefaultRowRenderer(String[] rowColors)
From source file:com.google.gwt.gen2.demo.scrolltable.client.PagingScrollTableDemo.java
License:Apache License
/** * @return the {@link TableDefinition} with all ColumnDefinitions defined. *//* w w w . j a va2 s . co m*/ private TableDefinition<Student> createTableDefinition() { // Define some cell renderers CellRenderer<Student, Integer> intCellRenderer = new CellRenderer<Student, Integer>() { public void renderRowValue(Student rowValue, ColumnDefinition<Student, Integer> columnDef, AbstractCellView<Student> view) { view.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); view.setHTML(columnDef.getCellValue(rowValue).toString()); } }; // Create the table definition tableDefinition = new DefaultTableDefinition<Student>(); // Set the row renderer String[] rowColors = new String[] { "#FFFFDD", "#EEEEEE" }; tableDefinition.setRowRenderer(new DefaultRowRenderer<Student>(rowColors)); // First name { StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>("First Name", Group.GENERAL) { @Override public String getCellValue(Student rowValue) { return rowValue.getFirstName(); } @Override public void setCellValue(Student rowValue, String cellValue) { rowValue.setFirstName(cellValue); } }; columnDef.setMinimumColumnWidth(50); columnDef.setPreferredColumnWidth(100); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } // Last name { StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>("Last Name", Group.GENERAL) { @Override public String getCellValue(Student rowValue) { return rowValue.getLastName(); } @Override public void setCellValue(Student rowValue, String cellValue) { rowValue.setLastName(cellValue); } }; columnDef.setMinimumColumnWidth(50); columnDef.setPreferredColumnWidth(100); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } // Age { StudentColumnDefinition<Integer> columnDef = new StudentColumnDefinition<Integer>("Age", Group.GENERAL) { @Override public Integer getCellValue(Student rowValue) { return rowValue.getAge(); } @Override public void setCellValue(Student rowValue, Integer cellValue) { rowValue.setAge(cellValue); } }; // Dynamic footer provides range of ages StudentFooterProperty prop = new StudentFooterProperty() { @Override public Object getFooter(int row, int column) { if (row == 1) { int min = -1; int max = -1; int rowCount = pagingScrollTable.getDataTable().getRowCount(); for (int i = 0; i < rowCount; i++) { int age = pagingScrollTable.getRowValue(i).getAge(); if (min == -1) { min = age; max = age; } else { min = Math.min(min, age); max = Math.max(max, age); } } return min + "-" + max; } return super.getFooter(row, column); } }; prop.setFooterCount(2); prop.setDynamic(true); columnDef.setColumnProperty(FooterProperty.TYPE, prop); columnDef.setCellRenderer(intCellRenderer); columnDef.setMinimumColumnWidth(35); columnDef.setPreferredColumnWidth(35); columnDef.setMaximumColumnWidth(35); columnDef.setColumnSortable(true); tableDefinition.addColumnDefinition(columnDef); } // Gender { StudentColumnDefinition<Boolean> columnDef = new StudentColumnDefinition<Boolean>("Gender", Group.GENERAL) { @Override public Boolean getCellValue(Student rowValue) { return rowValue.isMale(); } @Override public void setCellValue(Student rowValue, Boolean cellValue) { rowValue.setMale(cellValue); } }; columnDef.setCellRenderer(new CellRenderer<Student, Boolean>() { public void renderRowValue(Student rowValue, ColumnDefinition<Student, Boolean> columnDef, AbstractCellView<Student> view) { if (rowValue.isMale()) { view.setHTML("male"); } else { view.setHTML("female"); } } }); columnDef.setMinimumColumnWidth(45); columnDef.setPreferredColumnWidth(45); columnDef.setMaximumColumnWidth(45); columnDef.setColumnSortable(true); tableDefinition.addColumnDefinition(columnDef); // Setup the cellEditor RadioCellEditor<Boolean> cellEditor = new RadioCellEditor<Boolean>(); cellEditor.setLabel("Select a gender:"); cellEditor.addRadioButton(new RadioButton("editorGender", "male"), true); cellEditor.addRadioButton(new RadioButton("editorGender", "female"), false); columnDef.setCellEditor(cellEditor); } // Race { StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>("Race", Group.GENERAL) { @Override public String getCellValue(Student rowValue) { return rowValue.getRace(); } @Override public void setCellValue(Student rowValue, String cellValue) { rowValue.setRace(cellValue); } }; columnDef.setMinimumColumnWidth(45); columnDef.setPreferredColumnWidth(55); columnDef.setMaximumColumnWidth(70); columnDef.setColumnSortable(true); tableDefinition.addColumnDefinition(columnDef); // Setup the cell editor ListCellEditor<String> cellEditor = new ListCellEditor<String>(); for (int i = 0; i < StudentGenerator.races.length; i++) { String race = StudentGenerator.races[i]; cellEditor.addItem(race, race); } columnDef.setCellEditor(cellEditor); } // Favorite color { StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>("Favorite Color", null) { @Override public String getCellValue(Student rowValue) { return rowValue.getFavoriteColor(); } @Override public void setCellValue(Student rowValue, String cellValue) { rowValue.setFavoriteColor(cellValue); } }; columnDef.setCellRenderer(new CellRenderer<Student, String>() { public void renderRowValue(Student rowValue, ColumnDefinition<Student, String> columnDef, AbstractCellView<Student> view) { String color = rowValue.getFavoriteColor(); view.setStyleAttribute("color", color); view.setHTML(color); } }); columnDef.setPreferredColumnWidth(80); columnDef.setColumnSortable(true); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); // Setup the cell editor RadioCellEditor<String> cellEditor = new RadioCellEditor<String>(); cellEditor.setLabel("Select a color:"); for (int i = 0; i < StudentGenerator.colors.length; i++) { String color = StudentGenerator.colors[i]; String text = "<FONT color=\"" + color + "\">" + color + "</FONT>"; cellEditor.addRadioButton(new RadioButton("editorColor", text, true), color); } columnDef.setCellEditor(cellEditor); } // Favorite Sport { StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>("Preferred Sport", null) { @Override public String getCellValue(Student rowValue) { return rowValue.getFavoriteSport(); } @Override public void setCellValue(Student rowValue, String cellValue) { rowValue.setFavoriteSport(cellValue); } }; columnDef.setPreferredColumnWidth(110); columnDef.setColumnSortable(true); tableDefinition.addColumnDefinition(columnDef); // Setup the cell editor ListCellEditor<String> cellEditor = new ListCellEditor<String>(); cellEditor.setLabel("Select a sport:"); for (int i = 0; i < StudentGenerator.sports.length; i++) { String sport = StudentGenerator.sports[i]; cellEditor.addItem(sport, sport); } columnDef.setCellEditor(cellEditor); } // College { StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>("College", Group.SCHOOL) { @Override public String getCellValue(Student rowValue) { return rowValue.getCollege(); } @Override public void setCellValue(Student rowValue, String cellValue) { rowValue.setCollege(cellValue); } }; columnDef.setMinimumColumnWidth(50); columnDef.setPreferredColumnWidth(180); columnDef.setMaximumColumnWidth(250); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(false); tableDefinition.addColumnDefinition(columnDef); // Setup the cell editor TextCellEditor cellEditor = new TextCellEditor() { @Override public boolean onAccept() { if (getValue().equals("")) { Window.alert("You must enter a school"); return false; } return true; } @Override protected int getOffsetLeft() { return -8; } @Override protected int getOffsetTop() { return -10; } }; columnDef.setCellEditor(cellEditor); } // Graduation year { StudentColumnDefinition<Integer> columnDef = new StudentColumnDefinition<Integer>("Year", Group.SCHOOL) { @Override public Integer getCellValue(Student rowValue) { return rowValue.getGraduationYear(); } @Override public void setCellValue(Student rowValue, Integer cellValue) { rowValue.setGraduationYear(cellValue); } }; // Dynamic footer provides range of ages StudentFooterProperty prop = new StudentFooterProperty() { @Override public Object getFooter(int row, int column) { if (row == 1) { int min = -1; int max = -1; int rowCount = pagingScrollTable.getDataTable().getRowCount(); for (int i = 0; i < rowCount; i++) { int year = pagingScrollTable.getRowValue(i).getGraduationYear(); if (min == -1) { min = year; max = year; } else { min = Math.min(min, year); max = Math.max(max, year); } } return min + "-" + max; } return super.getFooter(row, column); } }; prop.setFooterCount(2); prop.setDynamic(true); columnDef.setColumnProperty(FooterProperty.TYPE, prop); columnDef.setCellRenderer(intCellRenderer); columnDef.setPreferredColumnWidth(35); columnDef.setMinimumColumnWidth(35); columnDef.setMaximumColumnWidth(35); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } // GPA { StudentColumnDefinition<Double> columnDef = new StudentColumnDefinition<Double>("GPA", Group.SCHOOL) { @Override public Double getCellValue(Student rowValue) { return rowValue.getGpa(); } @Override public void setCellValue(Student rowValue, Double cellValue) { rowValue.setGpa(cellValue); } }; // Dynamic footer provides average GPA StudentFooterProperty prop = new StudentFooterProperty() { @Override public Object getFooter(int row, int column) { if (row == 1) { double avg = 0; int rowCount = pagingScrollTable.getDataTable().getRowCount(); for (int i = 0; i < rowCount; i++) { avg += pagingScrollTable.getRowValue(i).getGpa(); } avg /= rowCount; return gpaToString(avg); } return super.getFooter(row, column); } }; prop.setFooterCount(2); prop.setDynamic(true); columnDef.setColumnProperty(FooterProperty.TYPE, prop); // Custom renderer uses background colors based on GPA columnDef.setCellRenderer(new CellRenderer<Student, Double>() { public void renderRowValue(Student rowValue, ColumnDefinition<Student, Double> columnDef, AbstractCellView<Student> view) { view.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); double gpa = rowValue.getGpa(); if (gpa < 2) { view.setStyleName("badGPA"); } else if (gpa < 3) { view.setStyleName("goodGPA"); } else { view.setStyleName("greatGPA"); } view.setHTML(gpaToString(gpa)); } }); columnDef.setPreferredColumnWidth(35); columnDef.setMinimumColumnWidth(35); columnDef.setMaximumColumnWidth(35); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } // ID { StudentColumnDefinition<Integer> columnDef = new StudentColumnDefinition<Integer>("ID", Group.LOGIN) { @Override public Integer getCellValue(Student rowValue) { return rowValue.getId(); } @Override public void setCellValue(Student rowValue, Integer cellValue) { rowValue.setId(cellValue); } }; columnDef.setCellRenderer(intCellRenderer); columnDef.setPreferredColumnWidth(55); columnDef.setColumnTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } // Pin { StudentColumnDefinition<Integer> columnDef = new StudentColumnDefinition<Integer>("Pin", Group.LOGIN) { @Override public Integer getCellValue(Student rowValue) { return rowValue.getPin(); } @Override public void setCellValue(Student rowValue, Integer cellValue) { rowValue.setPin(cellValue); } }; columnDef.setCellRenderer(intCellRenderer); columnDef.setPreferredColumnWidth(45); columnDef.setColumnTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } return tableDefinition; }
From source file:org.gss_project.gss.admin.client.ui.FilesTable.java
License:Open Source License
private DefaultTableDefinition<FileHeaderDTO> createTableDefinition() { tableDefinition = new DefaultTableDefinition<FileHeaderDTO>(); final String[] rowColors = new String[] { "#FFFFDD", "EEEEEE" }; tableDefinition.setRowRenderer(new DefaultRowRenderer<FileHeaderDTO>(rowColors)); // id/*from ww w .j a v a 2 s. com*/ { IdColumnDefinition columnDef = new IdColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(false); columnDef.setPreferredColumnWidth(35); columnDef.setHeader(0, new HTML("Id")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { NameColumnDefinition columnDef = new NameColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("File Name")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { UriColumnDefinition columnDef = new UriColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("URI")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } // username { UserColumnDefinition columnDef = new UserColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Username")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { FilesizeDefinition columnDef = new FilesizeDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("File Size")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { DeletedColumnDefinition columnDef = new DeletedColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Deleted")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); columnDef.setCellRenderer(new CellRenderer<FileHeaderDTO, Boolean>() { @Override public void renderRowValue(FileHeaderDTO rowValue, ColumnDefinition<FileHeaderDTO, Boolean> aColumnDef, AbstractCellView<FileHeaderDTO> view) { CheckBox check = new CheckBox(); check.setValue(aColumnDef.getCellValue(rowValue)); check.setEnabled(false); view.setWidget(check); } }); tableDefinition.addColumnDefinition(columnDef); } { CreationColumnDefinition columnDef = new CreationColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Creation Date")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { LastModifiedColumnDefinition columnDef = new LastModifiedColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Modification Date")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } return tableDefinition; }
From source file:org.gss_project.gss.admin.client.ui.UsersTable.java
License:Open Source License
private DefaultTableDefinition<UserDTO> createTableDefinition() { tableDefinition = new DefaultTableDefinition<UserDTO>(); final String[] rowColors = new String[] { "#FFFFDD", "EEEEEE" }; tableDefinition.setRowRenderer(new DefaultRowRenderer<UserDTO>(rowColors)); // id//from w w w.j av a2 s.c om { IdColumnDefinition columnDef = new IdColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(false); columnDef.setPreferredColumnWidth(35); columnDef.setHeader(0, new HTML("Id")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { UserClassColumnDefinition columnDef = new UserClassColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("User Class")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { ActiveColumnDefinition columnDef = new ActiveColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Active")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); columnDef.setCellRenderer(new CellRenderer<UserDTO, Boolean>() { @Override public void renderRowValue(UserDTO rowValue, ColumnDefinition<UserDTO, Boolean> aColumnDef, AbstractCellView<UserDTO> view) { CheckBox check = new CheckBox(); check.setValue(aColumnDef.getCellValue(rowValue)); check.setEnabled(false); view.setWidget(check); } }); tableDefinition.addColumnDefinition(columnDef); } // username { UsernameColumnDefinition columnDef = new UsernameColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Username")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { EmailColumnDefinition columnDef = new EmailColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Email")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { FullNameColumnDefinition columnDef = new FullNameColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Name")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } { LastLoginColumnDefinition columnDef = new LastLoginColumnDefinition(); columnDef.setColumnSortable(true); columnDef.setColumnTruncatable(true); columnDef.setHeader(0, new HTML("Last Login")); columnDef.setHeaderCount(1); columnDef.setHeaderTruncatable(false); tableDefinition.addColumnDefinition(columnDef); } return tableDefinition; }