Package org.wicketstuff.openlayers.api.control

Source Code of org.wicketstuff.openlayers.api.control.LayerSwitcherControl$Toggler

package org.wicketstuff.openlayers.api.control;

import java.util.List;

import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
import org.wicketstuff.openlayers.IOpenLayersMap;
import org.wicketstuff.openlayers.api.layer.Layer;

/**
*
* @author Nino Martinez Wael (nino.martinez@jayway.dk)
*
*/
public class LayerSwitcherControl extends Panel
{

  private static final long serialVersionUID = 1L;

  public LayerSwitcherControl(String id, IOpenLayersMap map)
  {
    super(id);
    add(new Toggler("layers", map.getLayers(), map));


    // Manually add marker control for now!
    String layerId = "1";
    WebMarkupContainer link = new WebMarkupContainer("link");
// link.add(new AttributeAppender("onClick",new
// Model(map.getJSinvokeNoLineEnd("toggleLayer("+layerId+")")),";"));
    link.add(new AttributeAppender("href", Model.of("javascript:" +
      map.getJSinvokeNoLineEnd("toggleLayer(" + layerId + ")")), ";"));

    link.add(new Label("layerName", "Markers"));

    add(link);


  }

  private static class Toggler extends ListView<Layer>
  {
    private static final long serialVersionUID = 1L;
    private final IOpenLayersMap omap;

    public Toggler(String id, List<Layer> list, final IOpenLayersMap omap)
    {
      super(id, list);
      this.omap = omap;
    }

    @Override
    protected void populateItem(ListItem<Layer> item)
    {
      Layer overlay = item.getModelObject();

      WebMarkupContainer link = new WebMarkupContainer("link");
// link.add(new AttributeAppender("onClick",new
// Model(omap.getJSinvokeNoLineEnd("toggleLayer("+id+")")),";"));
      link.add(new AttributeAppender("href", Model.of("javascript:" +
        omap.getJSinvokeNoLineEnd("toggleLayer(" + overlay.getId() + ")")), ";"));

      link.add(new Label("layerName", overlay.getName()));

      item.add(link);

    }
  }
}
TOP

Related Classes of org.wicketstuff.openlayers.api.control.LayerSwitcherControl$Toggler

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.