public MessagesCellTable()

in client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java [209:270]


    public MessagesCellTable(final HupaImageBundle imageBundle, final HupaConstants constants,
            final PlaceController pc, final HupaRequestFactory rf) {
        super(PAGE_SIZE, Resources.INSTANCE);
        this.pc = pc;
        this.rf = rf;
        this.imageBundle = imageBundle;

        CheckboxCell headerCheckbox = new CheckboxCell();
        ImageResourceCell headerAttached = new ImageResourceCell();
        Header<Boolean> header = new Header<Boolean>(headerCheckbox) {
            @Override
            public Boolean getValue() {
                return false;
            }
        };
        Header<ImageResource> attachedPin = new Header<ImageResource>(headerAttached) {
            @Override
            public ImageResource getValue() {
                return imageBundle.attachmentIcon();
            }
        };
        header.setUpdater(new ValueUpdater<Boolean>() {
            @Override
            public void update(Boolean value) {
                List<Message> displayedItems = MessagesCellTable.this.getVisibleItems();
                for (Message msg : displayedItems) {
                    checkboxCol.getFieldUpdater().update(0, msg, value);
                }
            }
        });

        fromCol = getFromColumn();
        subjectCol = getSubjectColumn();
        attachedCol = getAttachmentColumn();
        dateCol = getDateColumn();

        addColumn(checkboxCol, new CheckboxHeader(selectionModel, dataProvider));
        setColumnWidth(checkboxCol, 3, Unit.EM);
        addColumn(fromCol, constants.mailTableFrom());
        setColumnWidth(fromCol, 40, Unit.PCT);
        addColumn(subjectCol, constants.mailTableSubject());
        setColumnWidth(subjectCol, 60, Unit.PCT);
        addColumn(attachedCol, attachedPin);
        setColumnWidth(attachedCol, 33, Unit.PX);
        addColumn(dateCol, constants.mailTableDate());
        setColumnWidth(dateCol, 10, Unit.EM);
        setRowCount(PAGE_SIZE, false);
        this.setStyleBaseOnTag();
        // redraw();
        setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
        setAutoHeaderRefreshDisabled(true);

        setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createBlacklistManager(0));

        // make table sortable
        AsyncHandler columnSortHandler = new AsyncHandler(this);
        addColumnSortHandler(columnSortHandler);
        fromCol.setSortable(true);
        subjectCol.setSortable(true);
        attachedCol.setSortable(true);
        dateCol.setSortable(true);
    }