Package org.geomajas.test.client.pages

Source Code of org.geomajas.test.client.pages.SearchPage

/*
* This is part of Geomajas, a GIS framework, http://www.geomajas.org/.
*
* Copyright 2008-2011 Geosparc nv, http://www.geosparc.com/, Belgium.
*
* The program is available in open source according to the GNU Affero
* General Public License. All contributions in this program are covered
* by the Geomajas Contributors License Agreement. For full licensing
* details, see LICENSE.txt in the project root.
*/

package org.geomajas.test.client.pages;

import com.smartgwt.client.widgets.tab.TabSet;
import org.geomajas.gwt.client.widget.FeatureListGrid;
import org.geomajas.gwt.client.widget.FeatureSearch;
import org.geomajas.gwt.client.widget.MapWidget;
import org.geomajas.gwt.client.widget.event.DefaultSearchHandler;

/**
* <p>
* Example tab showing the {@link FeatureSearch} widget.
* </p>
*
* @author geomajas-gwt-archetype
*/
public class SearchPage extends AbstractTab {

  /**
   * Create a tab page with a search functionality.
   *
   * @param map The map for whom we are searching for features.
   * @param tabSet The set of tabs to whom this tab will be added. Also when a search is done, this tab-set is used to
   * make the tab with the feature grid visible.
   * @param featureGrid The actual feature grid instance from the second tab. This feature grid is used to display the
   * features that result from a search.
   */
  public SearchPage(MapWidget map, final TabSet tabSet, FeatureListGrid featureGrid) {
    super("Search", map);

    // Create a SearchWidget, based upon a map's model:
    FeatureSearch searchWidget = new FeatureSearch(map.getMapModel(), true);

    // What to do when the result of a search comes in?
    // The DefaultSearchHandler will add all the features in the result to the given FeatureListGrid.
    searchWidget.addSearchHandler(new DefaultSearchHandler(featureGrid) {

      // After the features have been added to the FeatureListGrid, make sure the tab with the grid is visible:
      public void afterSearch() {
        tabSet.selectTab(1);
      }
    });

    // Limit the maximum number of features that a search may produce:
    searchWidget.setMaximumResultSize(20);
    mainLayout.addMember(searchWidget);
  }

  public void initialize() {
  }
}
TOP

Related Classes of org.geomajas.test.client.pages.SearchPage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.