Example usage for com.google.gwt.gen2.table.client CellRenderer CellRenderer

List of usage examples for com.google.gwt.gen2.table.client CellRenderer CellRenderer

Introduction

In this page you can find the example usage for com.google.gwt.gen2.table.client CellRenderer CellRenderer.

Prototype

CellRenderer

Source Link

Usage

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("&nbsp");
            }

        }

    });

    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;
}