List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder appendHtmlConstant
public SafeHtmlBuilder appendHtmlConstant(String html)
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.app.ui.OverviewExample.java
License:sencha.com license
@Override public Widget asWidget() { final Renderer r = GWT.create(Renderer.class); ListViewCustomAppearance<Example> appearance = new ListViewCustomAppearance<Example>(".sample-box", "sample-over", "none") { @Override//from w ww.j a v a 2s. co m public void renderEnd(SafeHtmlBuilder builder) { String markup = new StringBuilder("<div class=\"").append(CommonStyles.get().clear()) .append("\"></div>").toString(); builder.appendHtmlConstant(markup); } @Override public void renderItem(SafeHtmlBuilder builder, SafeHtml content) { builder.appendHtmlConstant("<div class='sample-box' style='padding-top: 4px; border: none'>"); builder.append(content); builder.appendHtmlConstant("</div>"); } }; overviewView = new ListView<Example, Example>(overviewStore, new IdentityValueProvider<Example>() { @Override public void setValue(Example object, Example value) { } }, appearance); overviewView.setCell(new SimpleSafeHtmlCell<Example>(new AbstractSafeHtmlRenderer<Example>() { @Override public SafeHtml render(Example object) { return r.renderItem(object); } })); overviewView.addStyleName("overview-page"); overviewView.setBorders(false); overviewView.getSelectionModel().addSelectionHandler(new SelectionHandler<Example>() { @Override public void onSelection(SelectionEvent<Example> event) { if (event.getSelectedItem() != null) { placeController.goTo(new ExamplePlace(event.getSelectedItem().getId())); overviewView.getSelectionModel().deselectAll(); } } }); overview.add(overviewView); return overview; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.dnd.BasicDndExample.java
License:sencha.com license
private void addSources(FlowLayoutContainer container) { for (int i = 0; i < 5; i++) { final SafeHtmlBuilder builder = new SafeHtmlBuilder(); builder.appendHtmlConstant("<div style=\"border:1px solid #ddd;cursor:default\" class=\"" + SafeHtmlUtils.htmlEscape(ExampleStyles.get().paddedText()) + "\">"); builder.appendHtmlConstant("Drag Me " + i); builder.appendHtmlConstant("</div>"); final HTML html = new HTML(builder.toSafeHtml()); container.add(html, new MarginData(3)); DragSource source = new DragSource(html) { @Override//from ww w .ja va2 s . c o m protected void onDragStart(DndDragStartEvent event) { super.onDragStart(event); // by default drag is allowed event.setData(html); event.getStatusProxy().update(builder.toSafeHtml()); } }; // group is optional source.setGroup("test"); } }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.AggregationGridExample.java
License:sencha.com license
@Override public Widget asWidget() { StockProperties props = GWT.create(StockProperties.class); final NumberFormat numberFormat = NumberFormat.getFormat("0.00"); final NumberFormat currency = NumberFormat.getCurrencyFormat(); List<ColumnConfig<Stock, ?>> configs = new ArrayList<ColumnConfig<Stock, ?>>(); ColumnConfig<Stock, String> nameColumn = new ColumnConfig<Stock, String>(props.name(), 200, "Company"); configs.add(nameColumn);//from w w w . j ava2s . c o m ColumnConfig<Stock, String> symbolColumn = new ColumnConfig<Stock, String>(props.symbol(), 100, "Symbol"); configs.add(symbolColumn); ColumnConfig<Stock, Double> lastColumn = new ColumnConfig<Stock, Double>(props.last(), 100, "Last"); lastColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(currency))); configs.add(lastColumn); ColumnConfig<Stock, Double> changeColumn = new ColumnConfig<Stock, Double>(props.change(), 100, "Change"); changeColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(numberFormat)) { @Override public void render(com.google.gwt.cell.client.Cell.Context context, Double value, SafeHtmlBuilder sb) { String style = value < 0 ? "red" : "green"; sb.appendHtmlConstant("<span style='color:" + style + "'>"); super.render(context, value, sb); sb.appendHtmlConstant("</span>"); } }); configs.add(changeColumn); ColumnConfig<Stock, Date> dateColumn = new ColumnConfig<Stock, Date>(props.lastTrans(), 100, "Date"); dateColumn.setCell(new DateCell(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT))); configs.add(dateColumn); final ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ColumnModel<Stock> cm = new ColumnModel<Stock>(configs); cm.addHeaderGroup(0, 0, new HeaderGroupConfig("Stock Information", 1, 2)); cm.addHeaderGroup(0, 2, new HeaderGroupConfig("Stock Performance", 1, 2)); AggregationRowConfig<Stock> averages = new AggregationRowConfig<Stock>(); averages.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Average")); averages.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new AvgSummaryType<Number>())); averages.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new AvgSummaryType<Number>())); cm.addAggregationRow(averages); AggregationRowConfig<Stock> max = new AggregationRowConfig<Stock>(); max.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Maximum")); max.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MaxSummaryType<Number>())); max.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new MaxSummaryType<Number>())); cm.addAggregationRow(max); AggregationRowConfig<Stock> min = new AggregationRowConfig<Stock>(); min.setRenderer(nameColumn, new AggregationSafeHtmlRenderer<Stock>("Minimum")); min.setRenderer(lastColumn, new AggregationNumberSummaryRenderer<Stock, Number>(currency, new MinSummaryType<Number>())); min.setRenderer(changeColumn, new AggregationNumberSummaryRenderer<Stock, Number>(numberFormat, new MinSummaryType<Number>())); cm.addAggregationRow(min); FramedPanel cp = new FramedPanel(); cp.setCollapsible(true); cp.setAnimCollapse(false); cp.setHeadingText("Aggregation Rows"); cp.setPixelSize(600, 350); cp.addStyleName("margin-10"); Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setBorders(true); grid.getView().setAutoExpandColumn(nameColumn); cp.add(grid); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.CheckBoxGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>(); final CheckBoxSelectionModel<Stock> sm = new CheckBoxSelectionModel<Stock>(identity); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "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 w w.ja v a 2 s. 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, ?>>(); l.add(sm.getColumn()); 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()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("CheckBox Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(600, 320); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.setSelectionModel(sm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); 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("Multi"); type.add("Simple"); type.setValue("Multi"); type.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { boolean simple = event.getValue().equals("Simple"); sm.deselectAll(); sm.setSelectionMode(simple ? SelectionMode.SIMPLE : SelectionMode.MULTI); } }); toolBar.add(type); VerticalLayoutContainer con = new VerticalLayoutContainer(); cp.setWidget(con); con.add(toolBar, new VerticalLayoutData(1, -1)); con.add(grid, new VerticalLayoutData(1, 1)); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.FilterGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "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 w w . j ava2 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"))); ColumnConfig<Stock, Boolean> splitCol = new ColumnConfig<Stock, Boolean>(props.split(), 75, "Split"); splitCol.setCell(new AbstractCell<Boolean>() { @Override public void render(Context context, Boolean value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value ? "Yes" : "No"); } }); ColumnConfig<Stock, String> typeCol = new ColumnConfig<Stock, String>(props.industry(), 75, "Type"); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); l.add(splitCol); l.add(typeCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); ListStore<Stock> store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("Filter Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(700, 300); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ListStore<String> typeStore = new ListStore<String>(new ModelKeyProvider<String>() { @Override public String getKey(String item) { return item; } }); typeStore.add("Auto"); typeStore.add("Media"); typeStore.add("Medical"); typeStore.add("Tech"); NumericFilter<Stock, Double> lastFilter = new NumericFilter<Stock, Double>(props.last(), new DoublePropertyEditor()); StringFilter<Stock> nameFilter = new StringFilter<Stock>(props.name()); DateFilter<Stock> dateFilter = new DateFilter<Stock>(props.lastTrans()); BooleanFilter<Stock> booleanFilter = new BooleanFilter<Stock>(props.split()); ListFilter<Stock, String> listFilter = new ListFilter<Stock, String>(props.industry(), typeStore); GridFilters<Stock> filters = new GridFilters<Stock>(); filters.initPlugin(grid); filters.setLocal(true); filters.addFilter(lastFilter); filters.addFilter(nameFilter); filters.addFilter(dateFilter); filters.addFilter(booleanFilter); filters.addFilter(listFilter); cp.setWidget(grid); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.GridUiBinderExample.java
License:sencha.com license
@Override public Widget asWidget() { 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 w w . j a va 2 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); cm = new ColumnModel<Stock>(l); store = new ListStore<Stock>(props.key()); store.addAll(TestData.getStocks()); Widget component = uiBinder.createAndBindUi(this); view.setAutoExpandColumn(nameCol); return component; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.LiveGroupSummaryExample.java
License:sencha.com license
@Override public Widget asWidget() { List<Task> tasks = TestData.getTasks(); TaskProperties properties = GWT.create(TaskProperties.class); final ListStore<Task> store = new ListStore<Task>(properties.key()); store.addAll(tasks);//from w w w . j a v a2 s.c o m SummaryColumnConfig<Task, String> desc = new SummaryColumnConfig<Task, String>(properties.description(), 65, "Task"); desc.setSummaryType(new SummaryType.CountSummaryType<String>()); desc.setSummaryRenderer(new SummaryRenderer<Task>() { @Override public SafeHtml render(Number value, Map<ValueProvider<? super Task, ?>, Number> data) { return SafeHtmlUtils .fromTrustedString(value.intValue() > 1 ? "(" + value.intValue() + " Tasks)" : "(1 Task)"); } }); final SummaryColumnConfig<Task, String> project = new SummaryColumnConfig<Task, String>( properties.project(), 55, "Project"); SummaryColumnConfig<Task, String> due = new SummaryColumnConfig<Task, String>(properties.due(), 20, "Due"); SummaryColumnConfig<Task, Double> estimate = new SummaryColumnConfig<Task, Double>(properties.estimate(), 20, "Estimate"); estimate.setSummaryType(new SummaryType.SumSummaryType<Double>()); estimate.setSummaryRenderer(new SummaryRenderer<Task>() { @Override public SafeHtml render(Number value, Map<ValueProvider<? super Task, ?>, Number> data) { return SafeHtmlUtils.fromTrustedString(value + " hours"); } }); estimate.setCell(new AbstractCell<Double>() { @Override public void render(com.google.gwt.cell.client.Cell.Context context, Double value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value + " hours"); } }); SummaryColumnConfig<Task, Double> rate = new SummaryColumnConfig<Task, Double>(properties.rate(), 20, "Rate"); rate.setAlignment(HasHorizontalAlignment.ALIGN_RIGHT); rate.setCell(new NumberCell<Double>(NumberFormat.getCurrencyFormat())); rate.setSummaryType(new SummaryType.AvgSummaryType<Double>()); rate.setSummaryFormat(NumberFormat.getCurrencyFormat()); SummaryColumnConfig<Task, Task> cost = new SummaryColumnConfig<Task, Task>( new IdentityValueProvider<Task>(), 20, "Cost"); cost.setColumnClassSuffix("cost"); cost.setAlignment(HasHorizontalAlignment.ALIGN_RIGHT); cost.setCell(new AbstractCell<Task>() { @Override public void render(com.google.gwt.cell.client.Cell.Context context, Task value, SafeHtmlBuilder sb) { sb.appendHtmlConstant( NumberFormat.getCurrencyFormat().format(value.getRate() * value.getEstimate())); } }); cost.setSummaryFormat(NumberFormat.getCurrencyFormat()); cost.setSummaryType(new SummaryType<Task, Double>() { @Override public <M> Double calculate(List<? extends M> m, ValueProvider<? super M, Task> valueProvider) { double value = 0; for (int i = 0; i < m.size(); i++) { Task t = valueProvider.getValue(m.get(i)); value = value + (t.getRate() * t.getEstimate()); } return value; } }); cost.setComparator(new Comparator<Task>() { @Override public int compare(Task o1, Task o2) { return Double.valueOf(o1.getRate() * o1.getEstimate()).compareTo(o2.getRate() * o2.getEstimate()); } }); List<ColumnConfig<Task, ?>> cfgs = new ArrayList<ColumnConfig<Task, ?>>(); cfgs.add(desc); cfgs.add(project); cfgs.add(due); cfgs.add(estimate); cfgs.add(rate); cfgs.add(cost); ColumnModel<Task> cm = new ColumnModel<Task>(cfgs); final GroupSummaryView<Task> summary = new GroupSummaryView<Task>(); summary.setForceFit(true); summary.setShowGroupedColumn(false); Grid<Task> grid = new Grid<Task>(store, cm); grid.setBorders(true); grid.setView(summary); grid.getView().setShowDirtyCells(false); Scheduler.get().scheduleFinally(new ScheduledCommand() { @Override public void execute() { summary.groupBy(project); } }); FramedPanel panel = new FramedPanel(); panel.setHeadingHtml("Sponsored Projects"); panel.setSize("800", "450"); panel.add(grid); panel.addStyleName("margin-10"); panel.setCollapsible(true); return panel; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RemoteFilterGridExample.java
License:sencha.com license
@Override public Widget asWidget() { if (root == null) { final ExampleServiceAsync service = GWT.create(ExampleService.class); ListStore<Stock> store = new ListStore<Stock>(props.key()); RpcProxy<FilterPagingLoadConfig, PagingLoadResult<Stock>> proxy = new RpcProxy<FilterPagingLoadConfig, PagingLoadResult<Stock>>() { @Override/*w w w.j a v a 2s. c o m*/ public void load(FilterPagingLoadConfig loadConfig, AsyncCallback<PagingLoadResult<Stock>> callback) { service.getStocks(loadConfig, callback); } }; final PagingLoader<FilterPagingLoadConfig, PagingLoadResult<Stock>> remoteLoader = new PagingLoader<FilterPagingLoadConfig, PagingLoadResult<Stock>>( proxy) { @Override protected FilterPagingLoadConfig newLoadConfig() { return new FilterPagingLoadConfigBean(); } }; remoteLoader.setRemoteSort(true); remoteLoader.addLoadHandler( new LoadResultListStoreBinding<FilterPagingLoadConfig, Stock, PagingLoadResult<Stock>>(store)); final NumberFormat number = NumberFormat.getFormat("0.00"); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "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 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"))); ColumnConfig<Stock, Boolean> splitCol = new ColumnConfig<Stock, Boolean>(props.split(), 75, "Split"); splitCol.setCell(new AbstractCell<Boolean>() { @Override public void render(Context context, Boolean value, SafeHtmlBuilder sb) { sb.appendHtmlConstant(value ? "Yes" : "No"); } }); ColumnConfig<Stock, String> typeCol = new ColumnConfig<Stock, String>(props.industry(), 75, "Type"); List<ColumnConfig<Stock, ?>> l = new ArrayList<ColumnConfig<Stock, ?>>(); l.add(nameCol); l.add(symbolCol); l.add(lastCol); l.add(changeCol); l.add(lastTransCol); l.add(splitCol); l.add(typeCol); ColumnModel<Stock> cm = new ColumnModel<Stock>(l); root = new ContentPanel(); root.setHeadingText("Remote Filter Grid"); root.getHeader().setIcon(ExampleImages.INSTANCE.table()); root.setPixelSize(700, 300); root.addStyleName("margin-10"); new Resizable(root); final Grid<Stock> grid = new Grid<Stock>(store, cm) { @Override protected void onAfterFirstAttach() { super.onAfterFirstAttach(); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { remoteLoader.load(); } }); } }; grid.setLoader(remoteLoader); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); ListStore<String> typeStore = new ListStore<String>(new ModelKeyProvider<String>() { @Override public String getKey(String item) { return item; } }); typeStore.add("Auto"); typeStore.add("Media"); typeStore.add("Medical"); typeStore.add("Tech"); NumericFilter<Stock, Double> lastFilter = new NumericFilter<Stock, Double>(props.last(), new DoublePropertyEditor()); StringFilter<Stock> nameFilter = new StringFilter<Stock>(props.name()); DateFilter<Stock> dateFilter = new DateFilter<Stock>(props.lastTrans()); BooleanFilter<Stock> booleanFilter = new BooleanFilter<Stock>(props.split()); ListFilter<Stock, String> listFilter = new ListFilter<Stock, String>(props.industry(), typeStore); GridFilters<Stock> filters = new GridFilters<Stock>(remoteLoader); filters.initPlugin(grid); filters.addFilter(lastFilter); filters.addFilter(nameFilter); filters.addFilter(dateFilter); filters.addFilter(booleanFilter); filters.addFilter(listFilter); VerticalLayoutContainer con = new VerticalLayoutContainer(); final PagingToolBar toolBar = new PagingToolBar(25); toolBar.bind(remoteLoader); con.add(grid, new VerticalLayoutData(1, 1)); con.add(toolBar, new VerticalLayoutData(1, -1)); root.setWidget(con); } return root; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RowExpanderGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>(); final String desc = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna.<br/><br/>Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit."; RowExpander<Stock> expander = new RowExpander<Stock>(identity, new AbstractCell<Stock>() { @Override/*from w w w .j av a2s . co m*/ public void render(Context context, Stock value, SafeHtmlBuilder sb) { sb.appendHtmlConstant("<p style='margin: 5px 5px 10px'><b>Company:</b>" + value.getName() + "</p>"); sb.appendHtmlConstant("<p style='margin: 5px 5px 10px'><b>Summary:</b> " + desc); } }); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "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 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(expander); 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()); ContentPanel cp = new ContentPanel(); cp.setHeadingText("RowExpander Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(600, 320); cp.addStyleName("margin-10"); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); expander.initPlugin(grid); cp.setWidget(grid); return cp; }
From source file:com.msco.mil.client.com.sencha.gxt.explorer.client.grid.RowNumbererGridExample.java
License:sencha.com license
@Override public Widget asWidget() { final NumberFormat number = NumberFormat.getFormat("0.00"); IdentityValueProvider<Stock> identity = new IdentityValueProvider<Stock>(); RowNumberer<Stock> numberer = new RowNumberer<Stock>(identity); ColumnConfig<Stock, String> nameCol = new ColumnConfig<Stock, String>(props.name(), 200, "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 av a2 s. c o 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, ?>>(); l.add(numberer); 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()); final Grid<Stock> grid = new Grid<Stock>(store, cm); grid.getView().setAutoExpandColumn(nameCol); grid.setBorders(false); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); numberer.initPlugin(grid); ContentPanel cp = new ContentPanel(); cp.setHeadingText("RowNumberer Grid"); cp.getHeader().setIcon(ExampleImages.INSTANCE.table()); cp.setPixelSize(600, 320); cp.addStyleName("margin-10"); cp.setButtonAlign(BoxLayoutPack.END); cp.addButton(new TextButton("Remove a Row", new SelectHandler() { @Override public void onSelect(SelectEvent event) { grid.getStore().remove(grid.getStore().get(0)); if (grid.getStore().size() == 0) { TextButton b = (TextButton) event.getSource(); b.disable(); } } })); cp.setWidget(grid); return cp; }