Example usage for com.google.gwt.cell.client AbstractCell AbstractCell

List of usage examples for com.google.gwt.cell.client AbstractCell AbstractCell

Introduction

In this page you can find the example usage for com.google.gwt.cell.client AbstractCell AbstractCell.

Prototype

AbstractCell

Source Link

Usage

From source file:cc.alcina.framework.gwt.client.widget.SelectWithSearch.java

License:Apache License

private void updateItemsCellList(String filterText, HasWidgets itemHolder) {
    emptyItems = true;/*from   w  ww . ja  v  a 2 s  . c  o m*/
    Cell<T> cell = new AbstractCell<T>() {
        @Override
        public void render(com.google.gwt.cell.client.Cell.Context context, T value, SafeHtmlBuilder sb) {
            sb.appendEscaped((String) renderer.apply(value));
        }
    };
    CellList<T> cellList = new CellList<T>(cell);
    cellList.setPageSize(9999);
    cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE);
    cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
    // Add a selection model so we can select cells.
    final SingleSelectionModel<T> selectionModel = new SingleSelectionModel<T>(new SimpleKeyProvider<T>());
    cellList.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            itemSelected(selectionModel.getSelectedObject());
        }
    });
    List<T> items = new ArrayList<>();
    for (G c : keys) {
        if (!itemMap.containsKey(c)) {
            continue;
        }
        for (T item : itemMap.get(c)) {
            String filterable = CommonUtils.nullToEmpty(((String) renderer.apply(item))).toLowerCase();
            if (itemFilter.allow(item, filterable, filterText) && !selectedItems.contains(item)) {
                items.add(item);
            }
        }
    }
    ListDataProvider<T> dataProvider = new ListDataProvider<T>();
    dataProvider.getList().addAll(items);
    dataProvider.addDataDisplay(cellList);
    emptyItems = items.isEmpty();
    itemHolder.clear();
    itemHolder.add(cellList);
    afterUpdateItems(emptyItems);
}

From source file:com.goodow.wave.client.wavepanel.blip.TreeTestViewModel.java

License:Apache License

TreeTestViewModel() {
    List<String> title = titles.getList();
    title.add("a");
    title.add("b");
    title.add("c");
    title.add("d");

    List<HasCell<Integer, ?>> hasCell = new ArrayList<HasCell<Integer, ?>>();
    hasCell.add(new HasCell<Integer, Integer>() {

        private AbstractCell<Integer> cell = new AbstractCell<Integer>() {

            @Override//from  w  ww. j a  va2  s.c om
            public void render(final com.google.gwt.cell.client.Cell.Context context, final Integer value,
                    final SafeHtmlBuilder sb) {
                sb.append(SafeHtmlUtils.fromTrustedString("<div style='float:left;'>"));
                sb.append(value.intValue());
                sb.append(SafeHtmlUtils.fromTrustedString("</div>"));
            }
        };

        @Override
        public Cell<Integer> getCell() {
            return cell;
        }

        @Override
        public FieldUpdater<Integer, Integer> getFieldUpdater() {
            return null;
        }

        @Override
        public Integer getValue(final Integer object) {
            return object;
        }
    });

    hasCell.add(new HasCell<Integer, Integer>() {

        private TrangleButtonCell<Integer> tbc = new TrangleButtonCell<Integer>();

        @Override
        public Cell<Integer> getCell() {
            return tbc;
        }

        @Override
        public FieldUpdater<Integer, Integer> getFieldUpdater() {
            return null;
        }

        @Override
        public Integer getValue(final Integer object) {
            return object;
        }
    });

    composite = new CompositeCell<Integer>(hasCell) {

        @Override
        public void render(final Context context, final Integer value, final SafeHtmlBuilder sb) {
            sb.append(SafeHtmlUtils.fromTrustedString("<div>"));
            super.render(context, value, sb);
            sb.append(SafeHtmlUtils.fromTrustedString("</div>"));
        }

        @Override
        protected Element getContainerElement(final Element parent) {
            return parent.getFirstChildElement();
        }

        @Override
        protected <X> void render(final Context context, final Integer value, final SafeHtmlBuilder sb,
                final HasCell<Integer, X> hasCell) {
            Cell<X> cell = hasCell.getCell();
            // sb.append(SafeHtmlUtils.fromTrustedString("<div>"));
            cell.render(context, hasCell.getValue(value), sb);
            // sb.append(SafeHtmlUtils.fromTrustedString("</div>"));
        }
    };

}

From source file:com.google.gwt.sample.expenses.client.MobileReportList.java

License:Apache License

public MobileReportList(final Listener listener, final ExpensesRequestFactory requestFactory,
        EmployeeProxy employee) {//from   w w w .j ava2s. co  m
    this.listener = listener;
    this.requestFactory = requestFactory;
    this.employee = employee;

    EntityProxyKeyProvider<ReportProxy> keyProvider = new EntityProxyKeyProvider<ReportProxy>();

    reportDataProvider = new AsyncDataProvider<ReportProxy>(keyProvider) {
        @Override
        protected void onRangeChanged(HasData<ReportProxy> view) {
            requestReports();
        }
    };

    reportList = new CellList<ReportProxy>(new AbstractCell<ReportProxy>() {
        @Override
        public void render(Context context, ReportProxy value, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div class='item'>");
            sb.appendEscaped(value.getPurpose());
            sb.appendHtmlConstant("</div>");
        }
    });
    reportList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);

    reportSelection = new NoSelectionModel<ReportProxy>(keyProvider);
    reportSelection.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        public void onSelectionChange(SelectionChangeEvent event) {
            listener.onReportSelected(reportSelection.getLastSelectedObject());
        }
    });

    reportList.setSelectionModel(reportSelection);
    reportDataProvider.addDataDisplay(reportList);

    initWidget(reportList);
    onRefresh(false);
}

From source file:com.gsr.myschool.back.client.web.application.session.renderer.AttachedNiveauEtudeTree.java

License:Apache License

@Override
public <T> NodeInfo<?> getNodeInfo(T t) {
    if (t == null) {
        rootDataProvider.setList(treeModel);

        Cell<SessionTree> myCell = new AbstractCell<SessionTree>() {
            @Override/*from  w w w  . ja v  a  2 s  .c  om*/
            public void render(Context context, SessionTree value, SafeHtmlBuilder sb) {
                if (value != null) {
                    sb.appendEscaped(value.getName());
                }
            }
        };
        return new DefaultNodeInfo<SessionTree>(rootDataProvider, myCell);
    }

    if (t instanceof SessionTree) {
        SessionTree rootNode = (SessionTree) t;
        ListDataProvider<NiveauEtudeNode> dataProvider = new ListDataProvider<NiveauEtudeNode>();
        ArrayList<NiveauEtudeNode> nodes = new ArrayList<NiveauEtudeNode>(
                rootNode.getNiveauEtudeNodes().values());
        Collections.sort(nodes);
        dataProvider.setList(nodes);

        NiveauEtudeNodeCell niveauEtudeCell = niveauEtudeNodeCellFactory.create(readOnly, detail, delete,
                print);
        return new DefaultNodeInfo<NiveauEtudeNode>(dataProvider, niveauEtudeCell);
    }
    return null;
}

From source file:com.gsr.myschool.back.client.web.application.settings.renderer.NiveauEtudeInfosTree.java

License:Apache License

@Override
public <T> NodeInfo<?> getNodeInfo(T t) {
    if (t == null) {
        ListDataProvider<FiliereProxy> dataProvider = new ListDataProvider<FiliereProxy>();
        dataProvider.setList(valueList.getFiliereList());
        Cell<FiliereProxy> myCell = new AbstractCell<FiliereProxy>() {
            @Override//from   ww  w.  j a v  a2 s .  c o m
            public void render(Context context, FiliereProxy value, SafeHtmlBuilder sb) {
                if (value != null) {
                    sb.appendEscaped(value.getNom());
                }
            }
        };
        return new DefaultNodeInfo<FiliereProxy>(dataProvider, myCell);
    }
    if (t instanceof FiliereProxy) {
        ListDataProvider<NiveauEtudeProxy> dataProvider = new ListDataProvider<NiveauEtudeProxy>();
        dataProvider.setList(valueList.getNiveauEtudeList(((FiliereProxy) t).getId()));
        Cell<NiveauEtudeProxy> myCell = new AbstractCell<NiveauEtudeProxy>(BrowserEvents.DBLCLICK) {
            @Override
            public void render(Context context, NiveauEtudeProxy value, SafeHtmlBuilder sb) {
                if (value != null) {
                    sb.appendEscaped(value.getNom() + "  Age : " + value.getAnnee() + "  Email Convocation : "
                            + (value.getEmailConvocation() == null || !value.getEmailConvocation() ? "NON"
                                    : "OUI"));
                }
            }

            @Override
            public void onBrowserEvent(Context context, Element parent, NiveauEtudeProxy value,
                    NativeEvent event, ValueUpdater<NiveauEtudeProxy> valueUpdater) {
                super.onBrowserEvent(context, parent, value, event, valueUpdater);
                if (value == null) {
                    return;
                }
                if (BrowserEvents.DBLCLICK.equals(event.getType())) {
                    showDetails.execute(value);
                }
            }
        };
        return new DefaultNodeInfo<NiveauEtudeProxy>(dataProvider, myCell);
    }
    return null;
}

From source file:com.gsr.myschool.back.client.web.application.settings.widget.EmailTemplateView.java

License:Apache License

@Inject
public EmailTemplateView(final Binder uiBinder, final ValidationErrorPopup errorPopup,
        final SharedMessageBundle sharedMessageBundle, final EmailTemplateEditor emailTemplateEditor,
        final DetailsListStyle listStyle) {
    super(errorPopup);

    this.emailTemplateEditor = emailTemplateEditor;
    this.dataProvider = new ListDataProvider<EmailType>(Arrays.asList(EmailType.values()));
    this.templates = new CellList<EmailType>(new AbstractCell<EmailType>() {
        @Override// www . j ava2  s.  c  o m
        public void render(Context context, EmailType emailType, SafeHtmlBuilder safeHtmlBuilder) {
            safeHtmlBuilder.appendEscaped(emailType.toString());
        }
    }, listStyle);

    initWidget(uiBinder.createAndBindUi(this));

    dataProvider.addDataDisplay(templates);

    selectionModel = new SingleSelectionModel<EmailType>();
    templates.setSelectionModel(selectionModel);
    templates.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            EmailType code = selectionModel.getSelectedObject();
            if (code != null)
                getUiHandlers().loadTemplate(code);
        }
    });
    templates.setEmptyListWidget(new EmptyResult(sharedMessageBundle.noResultFound(), AlertType.WARNING));
    selectionModel.setSelected(EmailType.REGISTRATION, true);
}

From source file:com.gwt2go.dev.client.ui.widget.celltree.CellTreeRooterModel.java

License:Apache License

@Override
public <T> NodeInfo<?> getNodeInfo(T value) {
    if (value == null) {
        // Create a data provider that contains the list of composers
        ListDataProvider<CellTreeRooterDaoComposer> dataProvider = new ListDataProvider<CellTreeRooterDaoComposer>(
                composers);//from w ww  .j a v  a  2 s. c om

        // Create a cell to display
        Cell<CellTreeRooterDaoComposer> cell = new AbstractCell<CellTreeRooterDaoComposer>() {
            @Override
            public void render(Context context, CellTreeRooterDaoComposer value, SafeHtmlBuilder sb) {
                if (value != null) {
                    sb.appendEscaped(value.getName());
                }
            }
        };

        // Return a node info that pairs the data provider and the cell
        return new DefaultNodeInfo<CellTreeRooterDaoComposer>(dataProvider, cell);

    } else if (value instanceof CellTreeRooterDaoComposer) {

        // get the first sub level
        ListDataProvider<CellTreeRooterDaoModel> dataProvider = new ListDataProvider<CellTreeRooterDaoModel>(
                ((CellTreeRooterDaoComposer) value).getSubNodes());

        Cell<CellTreeRooterDaoModel> cell = new AbstractCell<CellTreeRooterDaoModel>() {
            @Override
            public void render(Context context, CellTreeRooterDaoModel value, SafeHtmlBuilder sb) {
                if (value != null) {
                    sb.appendEscaped(value.getName());
                }
            }
        };

        return new DefaultNodeInfo<CellTreeRooterDaoModel>(dataProvider, cell);

    } else if (value instanceof CellTreeRooterDaoModel) {

        // get the third sub level
        ListDataProvider<GotoPlacesModel> dataProvider = new ListDataProvider<GotoPlacesModel>(
                ((CellTreeRooterDaoModel) value).getNodes());

        // Use the shared selection model
        return new DefaultNodeInfo<GotoPlacesModel>(dataProvider, new CellTreeRooterCell(), selectionModel,
                null);

    }

    return null;

}

From source file:com.gwt2go.dev.client.ui.widget.celltree.CustomTreeModel.java

License:Apache License

@Override
public <T> NodeInfo<?> getNodeInfo(T value) {
    if (value == null) {
        // Create a data provider that contains the list of composers
        ListDataProvider<CellTreeModelComposer> dataProvider = new ListDataProvider<CellTreeModelComposer>(
                composers);// www  .  jav  a  2s .  c  o m

        // Create a cell to display
        Cell<CellTreeModelComposer> cell = new AbstractCell<CellTreeModelComposer>() {
            @Override
            public void render(Context context, CellTreeModelComposer value, SafeHtmlBuilder sb) {
                if (value != null) {
                    sb.appendEscaped(value.getName());
                }
            }
        };

        // Return a node info that pairs the data provider and the cell
        return new DefaultNodeInfo<CellTreeModelComposer>(dataProvider, cell);

    } else if (value instanceof CellTreeModelComposer) {
        // get the first sub level
        ListDataProvider<CellTreeDAOModel> dataProvider = new ListDataProvider<CellTreeDAOModel>(
                ((CellTreeModelComposer) value).getSubLists());
        Cell<CellTreeDAOModel> cell = new AbstractCell<CellTreeDAOModel>() {
            @Override
            public void render(Context context, CellTreeDAOModel value, SafeHtmlBuilder sb) {
                if (value != null) {
                    sb.appendEscaped(value.getName());
                }
            }
        };

        return new DefaultNodeInfo<CellTreeDAOModel>(dataProvider, cell);

    } else if (value instanceof CellTreeDAOModel) {
        // get the third sub level
        ListDataProvider<String> dataProvider = new ListDataProvider<String>(
                ((CellTreeDAOModel) value).getSubLevels());

        // Use the shared selection model
        return new DefaultNodeInfo<String>(dataProvider, new TextCell(), selectionModel, null);
    }

    return null;
}

From source file:com.laskysoftware.GXTPagingGrid.client.GridExample.java

License:sencha.com license

@Override
public Widget asWidget() {
    if (root == null) {
        final NumberFormat number = NumberFormat.getFormat("0.00");

        ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 50, "Company");
        ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
        ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

        ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
        changeCol.setCell(new AbstractCell<Double>() {

            @Override//from  w ww .  j  a  va2 s  .  c  om
            public void render(Context context, Double value, SafeHtmlBuilder sb) {
                String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
                String v = number.format(value);
                sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
            }
        });

        ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
                "Last Updated");
        lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

        List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
        l.add(nameCol);
        l.add(symbolCol);
        l.add(lastCol);
        l.add(changeCol);
        l.add(lastTransCol);
        ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

        ListStore<Stock> store = new ListStore<Stock>(props.key());
        store.addAll(TestData.getStocks());

        root = new ContentPanel();
        root.setHeadingText("Basic Grid");
        root.getHeader().setIcon(ExampleImages.INSTANCE.table());
        root.setPixelSize(600, 300);
        root.addStyleName("margin-10");

        ToolButton info = new ToolButton(ToolButton.QUESTION);
        ToolTipConfig config = new ToolTipConfig("Example Info",
                "This examples includes resizable panel, reorderable columns and grid state.");
        config.setMaxWidth(225);
        info.setToolTipConfig(config);
        root.addTool(info);

        new Resizable(root, Dir.E, Dir.SE, Dir.S);

        final Grid<Stock> grid = new Grid<Stock>(store, cm);
        grid.getView().setAutoExpandColumn(nameCol);
        grid.getView().setStripeRows(true);
        grid.getView().setColumnLines(true);
        grid.setBorders(false);

        grid.setColumnReordering(true);
        grid.setStateful(true);
        grid.setStateId("gridExample");

        GridStateHandler<Stock> state = new GridStateHandler<Stock>(grid);
        state.loadState();

        ToolBar toolBar = new ToolBar();
        toolBar.add(new LabelToolItem("Selection Mode: "));

        SimpleComboBox<String> type = new SimpleComboBox<String>(new StringLabelProvider<String>());
        type.setTriggerAction(TriggerAction.ALL);
        type.setEditable(false);
        type.setWidth(100);
        type.add("Row");
        type.add("Cell");
        type.setValue("Row");
        // we want to change selection model on select, not value change which fires on blur
        type.addSelectionHandler(new SelectionHandler<String>() {

            @Override
            public void onSelection(SelectionEvent<String> event) {
                boolean cell = event.getSelectedItem().equals("Cell");
                if (cell) {
                    CellSelectionModel<Stock> c = new CellSelectionModel<Stock>();
                    c.addCellSelectionChangedHandler(new CellSelectionChangedHandler<Stock>() {

                        @Override
                        public void onCellSelectionChanged(CellSelectionChangedEvent<Stock> event) {

                        }
                    });

                    grid.setSelectionModel(c);
                } else {
                    grid.setSelectionModel(new GridSelectionModel<Stock>());
                }
            }
        });
        type.addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {

            }
        });
        toolBar.add(type);

        VerticalLayoutContainer con = new VerticalLayoutContainer();
        root.setWidget(con);

        con.add(toolBar, new VerticalLayoutData(1, -1));
        con.add(grid, new VerticalLayoutData(1, 1));

        // needed to enable quicktips (qtitle for the heading and qtip for the
        // content) that are setup in the change GridCellRenderer
        new QuickTip(grid);
    }

    return root;
}

From source file:com.laskysoftware.GXTPagingGrid.client.GridExampleLocking.java

License:sencha.com license

@Override
public Widget asWidget() {
    if (root == null) {
        final NumberFormat number = NumberFormat.getFormat("0.00");

        ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 50,
                SafeHtmlUtils.fromTrustedString("<b>Company</b>"));

        ColumnConfig<Stock, String> symbolCol = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol");
        ColumnConfig<Stock, Double> lastCol = new ColumnConfig<Stock, Double>(props.last(), 75, "Last");

        ColumnConfig<Stock, Double> changeCol = new ColumnConfig<Stock, Double>(props.change(), 100, "Change");
        changeCol.setCell(new AbstractCell<Double>() {

            @Override/* ww w.j av  a2s .co  m*/
            public void render(Context context, Double value, SafeHtmlBuilder sb) {
                String style = "style='color: " + (value < 0 ? "red" : "green") + "'";
                String v = number.format(value);
                sb.appendHtmlConstant("<span " + style + " qtitle='Change' qtip='" + v + "'>" + v + "</span>");
            }
        });

        ColumnConfig<Stock, Date> lastTransCol = new ColumnConfig<Stock, Date>(props.lastTrans(), 100,
                "Last Updated");
        lastTransCol.setCell(new DateCell(DateTimeFormat.getFormat("MM/dd/yyyy")));

        List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>();
        //Remove name from main set of columns
        //l.add(nameCol);
        l.add(symbolCol);
        l.add(lastCol);
        l.add(changeCol);
        l.add(lastTransCol);

        //create two column models, one for the locked section
        ColumnModel<Stock> lockedCm = new ColumnModel<Stock>(
                Collections.<ColumnConfig<Stock, ?>>singletonList(nameCol));
        ColumnModel<Stock> cm = new ColumnModel<Stock>(l);

        ListStore<Stock> store = new ListStore<Stock>(props.key());
        store.addAll(TestData.getStocks());

        root = new ContentPanel();
        root.setHeadingText("Locked Grid Sample");
        root.setPixelSize(600, 300);

        final Resizable resizable = new Resizable(root, Dir.E, Dir.SE, Dir.S);
        root.addExpandHandler(new ExpandHandler() {
            @Override
            public void onExpand(ExpandEvent event) {
                resizable.setEnabled(true);
            }
        });
        root.addCollapseHandler(new CollapseHandler() {
            @Override
            public void onCollapse(CollapseEvent event) {
                resizable.setEnabled(false);
            }
        });

        //locked grid
        final Grid<Stock> lockedGrid = new Grid<Stock>(store, lockedCm) {
            @Override
            protected Size adjustSize(Size size) {
                //this is a tricky part - convince the grid to draw just slightly too wide
                //and so push the scrollbar out of sight
                return new Size(size.getWidth() + XDOM.getScrollBarWidth() - 1, size.getHeight());
            }
        };
        lockedGrid.setView(new GridView<Stock>() {
            {
                this.scrollOffset = 0;
            }
        });
        //require columns to always fit, preventing scrollbar
        lockedGrid.getView().setForceFit(true);

        //main grid, with horiz scrollbar
        final Grid<Stock> grid = new Grid<Stock>(store, cm);
        //don't want this feature, want to encourage horizontal scrollbars
        //grid.getView().setAutoExpandColumn(nameCol);
        grid.getView().setStripeRows(true);
        grid.getView().setColumnLines(true);
        grid.setBorders(false);

        grid.setColumnReordering(true);
        grid.setStateful(true);
        grid.setStateId("gridExample");

        //link scrolling
        lockedGrid.addBodyScrollHandler(new BodyScrollHandler() {
            @Override
            public void onBodyScroll(BodyScrollEvent event) {
                grid.getView().getScroller().scrollTo(ScrollDirection.TOP, event.getScrollTop());
            }
        });
        grid.addBodyScrollHandler(new BodyScrollHandler() {
            @Override
            public void onBodyScroll(BodyScrollEvent event) {
                lockedGrid.getView().getScroller().scrollTo(ScrollDirection.TOP, event.getScrollTop());
            }
        });

        HorizontalLayoutContainer gridWrapper = new HorizontalLayoutContainer();
        root.setWidget(gridWrapper);

        //add locked column, only 300px wide (in this example, use layouts to change how this works
        HorizontalLayoutData lockedColumnLayoutData = new HorizontalLayoutData(300, 1.0);

        //this is optional - without this, you get a little offset issue at the very bottom of the non-locked grid
        lockedColumnLayoutData.setMargins(new Margins(0, 0, XDOM.getScrollBarWidth(), 0));

        gridWrapper.add(lockedGrid, lockedColumnLayoutData);

        //add non-locked section, taking up all remaining width
        gridWrapper.add(grid, new HorizontalLayoutData(1.0, 1.0));
    }

    return root;
}