List of usage examples for com.google.gwt.gen2.table.client CellRenderer CellRenderer
CellRenderer
From source file:com.google.gwt.gen2.demo.scrolltable.client.PagingScrollTableDemo.java
License:Apache License
/** * @return the {@link TableDefinition} with all ColumnDefinitions defined. */// ww w .ja v a2s. c o 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:com.qualogy.qafe.gwt.client.component.CellRendererHelper.java
License:Apache License
private static CellRenderer<DataContainerGVO, String> createDefaultRenderer(final DataGridColumnGVO column, final String uuid, final String parent, final HasDataGridMethods parentWidget, final ComponentGVO component) { CellRenderer<DataContainerGVO, String> cellRenderer; cellRenderer = new CellRenderer<DataContainerGVO, String>() { public void renderRowValue(final DataContainerGVO rowValue, final ColumnDefinition<DataContainerGVO, String> columnDef, AbstractCellView<DataContainerGVO> view) { if (rowValue.isMap()) { String generatedId = generateIdBasedOnIndex(column, view.getRowIndex()); component.setId(generatedId); component.setEvents(column.getEvents()); if (component instanceof EditableComponentGVO) { EditableComponentGVO editableComponent = (EditableComponentGVO) component; editableComponent.setEditable(column.getEditable()); }/* ww w . j a v a 2 s. co m*/ final UIObject uiObject = getOrCreateRenderedComponent(column, component, generatedId, uuid, parent); // Get key for handler based on component uuid String key4Handler = getKey4Handler(column, view.getRowIndex(), parent); // HasSelectionHandlers is added for handling suggest text fields if (uiObject instanceof HasSelectionHandlers) { HasSelectionHandlers hasSelectionHandlers = (HasSelectionHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, selectionHandlers4Default); HandlerRegistration handler = hasSelectionHandlers .addSelectionHandler(new SelectionHandler<String>() { public void onSelection(SelectionEvent<String> event) { if (column.getEditable()) { handleSetModifiedForSelectionEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); selectionHandlers4Default.put(key4Handler, handler); } else if (uiObject instanceof HasDataChangeHandlers) { HasDataChangeHandlers hasDataChangeHandlers = (HasDataChangeHandlers) uiObject; // Remove existing handler containing old rowValue DataChangeHandler dataChangeHandler = dataChangeHandlers4Default.get(key4Handler); hasDataChangeHandlers.removeDataChangeHandler(dataChangeHandler); dataChangeHandler = new DataChangeHandler() { public void onDataChange(UIObject uiObject, Object oldValue, Object newValue) { if (column.getEditable()) { handleSetModified(parentWidget, rowValue, columnDef, uiObject, newValue); } } }; hasDataChangeHandlers.addDataChangeHandler(dataChangeHandler); dataChangeHandlers4Default.put(key4Handler, dataChangeHandler); } else if (uiObject instanceof HasValueChangeHandlers) { HasValueChangeHandlers hasValueChangeHandlers = (HasValueChangeHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, valueChangeHandlers4Default); HandlerRegistration handler = hasValueChangeHandlers .addValueChangeHandler(new ValueChangeHandler() { public void onValueChange(ValueChangeEvent event) { if (column.getEditable()) { handleSetModifiedForValueChangeEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); valueChangeHandlers4Default.put(key4Handler, handler); } else if (uiObject instanceof HasChangeHandlers) { HasChangeHandlers hasChangeHandlers = (HasChangeHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, changeHandlers4Default); HandlerRegistration handler = hasChangeHandlers.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { if (column.getEditable()) { handleSetModifiedForChangeEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); changeHandlers4Default.put(key4Handler, handler); } if (uiObject instanceof HasKeyUpHandlers) { // Handle value changed when typing HasKeyUpHandlers hasKeyUpHandlers = (HasKeyUpHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, keyUpHandlers4Default); HandlerRegistration handler = hasKeyUpHandlers.addKeyUpHandler(new KeyUpHandler() { public void onKeyUp(KeyUpEvent event) { if (column.getEditable() && KeyBoardHelper.isValidKeyInput(event.getNativeEvent())) { handleSetModifiedForValueChangeEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); keyUpHandlers4Default.put(key4Handler, handler); } SetValueGVO setValueGVO = new SetValueGVO(); DataContainerGVO valueDTC = new DataContainerGVO( simpleObjectToText(columnDef.getCellValue(rowValue))); if (uiObject instanceof Widget) { if (uiObject instanceof QDatePicker) { valueDTC = ((QColumnDefinition) columnDef).getDataContainerGVO(rowValue); } else if (uiObject instanceof ListBox) { // Inner component is a drop down and hence is first filled with the stored value and the selected index is managed later with the column value. QPagingScrollTable qPagingScrollTable = ((QPagingScrollTable) view .getSourceTableDefinition()); if (qPagingScrollTable.getDropDownColumnAndValues() != null && qPagingScrollTable .getDropDownColumnAndValues().containsKey(column.getId())) { SetValueGVO setValueGVOForInitialising = qPagingScrollTable .getDropDownColumnAndValues().get(column.getId()); // Do the set operation for the drop down - it can be a set with action set/add SetValueExecute.processValue(uiObject, setValueGVOForInitialising.getDataContainer(), setValueGVOForInitialising, setValueGVOForInitialising.getDataContainer()); } } // Now set the value to the column SetValueExecute.processValue(uiObject, simpleObjectToText(columnDef.getCellValue(rowValue)), setValueGVO, valueDTC); view.setWidget((Widget) uiObject); } } } }; return cellRenderer; }
From source file:com.qualogy.qafe.gwt.client.component.CellRendererHelper.java
License:Apache License
private static CellRenderer<DataContainerGVO, String> createCheckboxRenderer(final DataGridGVO source, final DataGridColumnGVO column, final String uuid, final String parent, final HasDataGridMethods uiParent) { return new CellRenderer<DataContainerGVO, String>() { public void renderRowValue(DataContainerGVO rowValue, ColumnDefinition<DataContainerGVO, String> columnDef, AbstractCellView<DataContainerGVO> view) { boolean alreadyRendered = false; String value = simpleObjectToText(columnDef.getCellValue(rowValue)); int rowIndex = view.getRowIndex(); String generatedId = generateIdBasedOnIndex(column, rowIndex); CheckBox renderedComponent = (CheckBox) getRenderedComponent(column, generatedId, uuid, parent); if (renderedComponent != null) { renderedComponent.setText(value); alreadyRendered = true;/*from w w w . ja v a 2 s . c o m*/ } else { renderedComponent = new CheckBox(value); } view.setWidget(renderedComponent); CellRendererHelper.addBasicInfoToUIObject(renderedComponent, uuid, parent, source, column, rowValue, rowIndex, null, alreadyRendered); handleCellSet(uiParent, columnDef, renderedComponent, rowValue); } }; }
From source file:com.qualogy.qafe.gwt.client.component.CellRendererHelper.java
License:Apache License
private static CellRenderer<DataContainerGVO, String> createRenderer(final DataGridGVO source, final DataGridColumnGVO column, final String uuid, final String parent, final ComponentGVO component) { CellRenderer<DataContainerGVO, String> cellRenderer; cellRenderer = new CellRenderer<DataContainerGVO, String>() { public void renderRowValue(DataContainerGVO rowValue, ColumnDefinition<DataContainerGVO, String> columnDef, AbstractCellView<DataContainerGVO> view) { boolean alreadyRendered = false; UIObject uiObject = null;/*from w w w .ja v a 2 s.c o m*/ int rowIndex = view.getRowIndex(); String generatedId = generateIdBasedOnIndex(column, rowIndex); if (isRenderedComponent(column, component, generatedId, uuid, parent)) { uiObject = getRenderedComponent(column, generatedId, uuid, parent); alreadyRendered = true; } else { uiObject = AnyComponentRenderer.getInstance().render(component, uuid, parent, column.getContext()); } if (uiObject instanceof Widget) { view.setWidget((Widget) uiObject); } CellRendererHelper.addBasicInfoToUIObject(uiObject, uuid, parent, source, column, rowValue, rowIndex, null, alreadyRendered); } }; return cellRenderer; }
From source file:com.qualogy.qafe.gwt.client.component.CellRendererHelper.java
License:Apache License
private static CellRenderer<DataContainerGVO, String> createLinkRenderer(final DataGridGVO source, final DataGridColumnGVO column, final String uuid, final String parent, final String targetHistoryToken, final HasDataGridMethods uiParent) { CellRenderer<DataContainerGVO, String> cellRenderer; cellRenderer = new CellRenderer<DataContainerGVO, String>() { public void renderRowValue(DataContainerGVO rowValue, ColumnDefinition<DataContainerGVO, String> columnDef, AbstractCellView<DataContainerGVO> view) { boolean alreadyRendered = false; String value = simpleObjectToText(columnDef.getCellValue(rowValue)); int rowIndex = view.getRowIndex(); String generatedId = generateIdBasedOnIndex(column, rowIndex); Hyperlink renderedComponent = (Hyperlink) getRenderedComponent(column, generatedId, uuid, parent); if (renderedComponent != null) { renderedComponent.setText(value); alreadyRendered = true;/* w w w . ja v a 2 s . co m*/ } else { renderedComponent = new Hyperlink(value, targetHistoryToken); } view.setWidget(renderedComponent); CellRendererHelper.addBasicInfoToUIObject(renderedComponent, uuid, parent, source, column, rowValue, rowIndex, null, alreadyRendered); handleCellSet(uiParent, columnDef, renderedComponent, rowValue); } }; return cellRenderer; }
From source file:com.qualogy.qafe.gwt.client.component.CellRendererHelper.java
License:Apache License
private static CellRenderer<DataContainerGVO, String> createSpreadSheetCellRenderer(final DataGridGVO source, final DataGridColumnGVO column, final String uuid, final String parent, final HasDataGridMethods uiParent) { return new CellRenderer<DataContainerGVO, String>() { public void renderRowValue(DataContainerGVO rowValue, ColumnDefinition<DataContainerGVO, String> columnDef, AbstractCellView<DataContainerGVO> view) { boolean alreadyRendered = false; String value = simpleObjectToText(columnDef.getCellValue(rowValue)); int rowIndex = view.getRowIndex(); String generatedId = generateIdBasedOnIndex(column, rowIndex); SpreadsheetCell renderedComponent = (SpreadsheetCell) getRenderedComponent(column, generatedId, uuid, parent);/*from ww w. j a va2 s . c om*/ if (renderedComponent != null) { // Update the data model renderedComponent.setRowValue(rowValue); renderedComponent.setText(value); alreadyRendered = true; } else { renderedComponent = new SpreadsheetCell(value, uiParent, rowValue, columnDef, column); } view.setWidget(renderedComponent); CellRendererHelper.addBasicInfoToUIObject(renderedComponent, uuid, parent, source, column, rowValue, rowIndex, null, alreadyRendered); // spreadsheetcell have a focuslabel inside(which is a container // of html component). So we have apply the style for that also. RendererHelper.addStyle(column, renderedComponent.getLabel()); } }; }
From source file:com.qualogy.qafe.gwt.client.component.CellRendererHelper.java
License:Apache License
private static CellRenderer<DataContainerGVO, String> createDefaulHTMLRenderer(final DataGridGVO source, final DataGridColumnGVO column, final String uuid, final String parent, final HasDataGridMethods uiParent) { return new CellRenderer<DataContainerGVO, String>() { public void renderRowValue(DataContainerGVO rowValue, ColumnDefinition<DataContainerGVO, String> columnDef, AbstractCellView<DataContainerGVO> view) { boolean alreadyRendered = false; String value = simpleObjectToText(columnDef.getCellValue(rowValue)); int rowIndex = view.getRowIndex(); String generatedId = generateIdBasedOnIndex(column, rowIndex); HTML renderedComponent = (HTML) getRenderedComponent(column, generatedId, uuid, parent); if (renderedComponent != null) { renderedComponent.setHTML(value); alreadyRendered = true;/*from w w w.j a va 2 s . co m*/ } else { renderedComponent = new HTML(value); } view.setWidget(renderedComponent); CellRendererHelper.addBasicInfoToUIObject(renderedComponent, uuid, parent, source, column, rowValue, rowIndex, null, alreadyRendered); handleCellSet(uiParent, columnDef, renderedComponent, rowValue); } }; }
From source file:org.apache.hupa.client.mvp.IMAPMessageListView.java
License:Apache License
/** * Create a new List which holds all needed ColumnDefinitions * //from ww w . ja v a 2 s . c o m */ private List<ColumnDefinition<Message, ?>> createColumnDefinitionList() { List<ColumnDefinition<Message, ?>> cList = new ArrayList<ColumnDefinition<Message, ?>>(); FromColumnDefination from = new FromColumnDefination(); from.setCellRenderer(new WhiteSpaceCellRenderer<Message>()); from.setColumnTruncatable(true); from.setPreferredColumnWidth(250); from.setMinimumColumnWidth(150); from.setMaximumColumnWidth(300); cList.add(from); SubjectColumnDefination subject = new SubjectColumnDefination(); subject.setCellRenderer(new WhiteSpaceCellRenderer<Message>()); subject.setColumnTruncatable(true); subject.setPreferredColumnWidth(800); subject.setMinimumColumnWidth(200); cList.add(subject); AttachmentColumnDefination attachment = new AttachmentColumnDefination(); attachment.setColumnTruncatable(false); // display an image if the message contains an attachment attachment.setCellRenderer(new CellRenderer<Message, Boolean>() { public void renderRowValue(Message rowValue, ColumnDefinition<Message, Boolean> columnDef, AbstractCellView<Message> view) { if (columnDef.getCellValue(rowValue)) { view.setWidget(new Image(imageBundle.attachmentIcon())); } else { view.setHTML(" "); } } }); attachment.setPreferredColumnWidth(20); attachment.setMinimumColumnWidth(15); attachment.setMaximumColumnWidth(25); cList.add(attachment); DateColumnDefination date = new DateColumnDefination(); date.setColumnTruncatable(true); // set a special renderer for the date date.setCellRenderer(new CellRenderer<Message, Date>() { public void renderRowValue(Message rowValue, ColumnDefinition<Message, Date> columnDef, AbstractCellView<Message> view) { DateTimeFormat dtformat; Date rDate = rowValue.getReceivedDate(); int rYear = rDate.getYear(); int rMonth = rDate.getMonth(); int rDay = rDate.getDate(); Date now = new Date(); int nowYear = now.getYear(); int nowMonth = now.getMonth(); int nowDay = now.getDate(); if (rYear < nowYear) { dtformat = DateTimeFormat.getFormat("dd.MMM.yyyy"); } else if (rMonth < nowMonth || (rMonth == nowMonth && rDay < nowDay)) { dtformat = DateTimeFormat.getFormat("dd.MMM."); } else if (rDay == nowDay) { dtformat = DateTimeFormat.getFormat("HH:mm"); } else { dtformat = DateTimeFormat.getFormat("dd.MMM.yyyy HH:mm"); } view.setHTML(dtformat.format(rDate)); view.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT); } }); date.setPreferredColumnWidth(100); date.setMinimumColumnWidth(100); date.setMaximumColumnWidth(150); cList.add(date); return cList; }
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 w w w. j a v a 2s . co m*/ { 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// w ww. j a va2 s.c o m { 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; }