All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zkoss.gmaps.event.InfoChangeEvent Maven / Gradle / Ivy

The newest version!
/* InfoChangeEvent.java

{{IS_NOTE
	Purpose:
		
	Description:
		
	History:
		Fri Oct 13 14:51:13     2006, Created by henrichen
}}IS_NOTE

Copyright (C) 2006 Potix Corporation. All Rights Reserved.

{{IS_RIGHT
	This program is distributed under GPL Version 2.0 in the hope that
	it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.gmaps.event;

import java.util.Map;

import org.zkoss.gmaps.Ginfo;
import org.zkoss.zk.au.AuRequest;
import org.zkoss.zk.mesg.MZk;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.UiException;
import org.zkoss.zk.ui.event.Event;

/**
 * Represents a Google Maps {@link org.zkoss.gmaps.Gmaps} related event which is
 * triggered whenever the currently opened {@link org.zkoss.gmaps.Ginfo} or 
 * {@link org.zkoss.gmaps.Gmarker} is changed.
 * 
 * @author henrichen
 */
public class InfoChangeEvent extends Event {
	private final Ginfo _info;

	/** Converts an AU request to a event.
	 * @since 5.0.0
	 */
	public static final InfoChangeEvent getInfoChangeEvent(AuRequest request) {
		final Component comp = request.getComponent();
		if (comp == null)
			throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED, request);
		final Map data = request.getData();
		if (data == null)
			throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA,
					new Object[] {data, request});

        Ginfo info = (Ginfo) request.getDesktop().getComponentByUuidIfAny((String)data.get("info"));
        if (info != null && info.getParent() != comp) {
            info = null;
        }
		return new InfoChangeEvent(request.getCommand(), comp, info);
	}
	
	/** Constructs a Google Maps info window change relevant event.
	 */
	public InfoChangeEvent(String name, Component target, Ginfo info) {
		super(name, target);
		_info = info;
	}
	/** Returns the new opened info window of the Google Map (null means none is opened).
	 */
	public final Ginfo getInfo() {
		return _info;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy