GWT Java

/*
 * SmartGWT (GWT for SmartClient)
 * Copyright 2008 and beyond, Isomorphic Software, Inc.
 *
 * SmartGWT is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.  SmartGWT is also
 * available under typical commercial license terms - see
 * http://smartclient.com/license
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 */
package com.smartgwt.sample.showcase.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.data.DataSourceField;
import com.smartgwt.client.data.XJSONDataSource;
import com.smartgwt.client.data.fields.DataSourceImageField;
import com.smartgwt.client.data.fields.DataSourceIntegerField;
import com.smartgwt.client.data.fields.DataSourceLinkField;
import com.smartgwt.client.types.FieldType;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.form.SearchForm;
import com.smartgwt.client.widgets.form.fields.ButtonItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
public class Showcase implements EntryPoint {
  public void onModuleLoad() {
    RootPanel.get().add(getViewPanel());
  }
  public Canvas getViewPanel() {
    Canvas canvas = new Canvas();
    Canvas yahooAttribution = new Canvas();
    yahooAttribution.setHeight(31);
    yahooAttribution.setContents(""
        + ""
        + "");
    canvas.addChild(yahooAttribution);
    XJSONDataSource yahooDS = new XJSONDataSource();
    yahooDS
        .setDataURL("http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&output=json");
    yahooDS.setRecordXPath("/ResultSet/Result");
    DataSourceImageField thumbnail = new DataSourceImageField("Thumbnail", "Thumbnail");
    thumbnail.setWidth(150);
    thumbnail.setImageHeight("imageHeight");
    thumbnail.setImageWidth("imageWidth");
    thumbnail.setValueXPath("Thumbnail/Url");
    DataSourceIntegerField imageWidth = new DataSourceIntegerField("imageWidth");
    imageWidth.setValueXPath("Thumbnail/Width");
    imageWidth.setAttribute("hidden", true);
    DataSourceIntegerField imageHeight = new DataSourceIntegerField("imageHeight");
    imageHeight.setValueXPath("Thumbnail/Height");
    imageHeight.setAttribute("hidden", true);
    DataSourceField title = new DataSourceField("Title", FieldType.TEXT);
    DataSourceField summary = new DataSourceField("Summary", FieldType.TEXT);
    DataSourceLinkField fullImage = new DataSourceLinkField("link", "Full Image");
    fullImage.setValueXPath("Url");
    fullImage.setAttribute("target", "_blank");
    yahooDS.addField(thumbnail);
    yahooDS.addField(imageWidth);
    yahooDS.addField(imageHeight);
    yahooDS.addField(title);
    yahooDS.addField(summary);
    yahooDS.addField(fullImage);
    final ListGrid grid = new ListGrid();
    grid.setTop(120);
    grid.setWidth100();
    grid.setHeight(300);
    grid.setWrapCells(true);
    grid.setFixedRecordHeights(false);
    grid.setShowAllRecords(true);
    grid.setAlternateRecordStyles(true);
    grid.setDataSource(yahooDS);
    final SearchForm form = new SearchForm();
    form.setTop(50);
    form.setNumCols(3);
    TextItem query = new TextItem();
    query.setName("query");
    query.setTitle("Query");
    query.setDefaultValue("snowboarding");
    ButtonItem button = new ButtonItem();
    button.setTitle("Search");
    button.setStartRow(false);
    button.addClickHandler(new ClickHandler() {
      public void onClick(ClickEvent event) {
        grid.fetchData(form.getValuesAsCriteria());
      }
    });
    form.setItems(query, button);
    canvas.addChild(form);
    canvas.addChild(grid);
    return canvas;
  }
}
   
    
    
  
SmartGWT.zip( 9,880 k)