//
// ScalarMapEvent.java
//

/*
VisAD system for interactive analysis and visualization of numerical
data.  Copyright (C) 1996 - 2017 Bill Hibbard, Curtis Rueden, Tom
Rink, Dave Glowacki, Steve Emmerson, Tom Whittaker, Don Murray, and
Tommy Jasmin.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA
*/

package visad;

/**
 * ScalarMapEvent is the VisAD class for Events
 * from ScalarMap objects.  They are
 * sourced by ScalarMap objects and received by
 * ScalarMapListener objects.

*/ public class ScalarMapEvent extends VisADEvent { /** values for id */ public final static int UNKNOWN = 0; public final static int AUTO_SCALE = 1; public final static int MANUAL = 2; public final static int CONTROL_ADDED = 3; public final static int CONTROL_REMOVED = 4; public final static int CONTROL_REPLACED = 5; private int id = UNKNOWN; private ScalarMap map; // source of event /** * Create a ScalarMap event * * @param map map to which this event refers * @param id the event type. */ public ScalarMapEvent(ScalarMap map, int id) { this(map, id, LOCAL_SOURCE); } /** * Create a ScalarMap event * * @param map map to which this event refers * @param id the event type. */ public ScalarMapEvent(ScalarMap map, int id, int remoteId) { // don't pass map as the source, since source // is transient inside Event super(null, 0, null, remoteId); this.map = map; this.id = id; } /** * Create a ScalarMap event * * @param map map to which this event refers * @param auto true if this is an AUTO_SCALE event * false if it's a MANUAL event. * * @deprecated - Explicitly cite the event ID using the * ScalarMapEvent(ScalarMap map, int id) * constructor. */ public ScalarMapEvent(ScalarMap map, boolean auto) { // don't pass map as the source, since source // is transient inside Event super(null, 0, null, LOCAL_SOURCE); this.map = map; this.id = auto ? AUTO_SCALE : MANUAL; } /** * Get the ScalarMap that sent this ScalarMapEvent (or * a copy if the ScalarMap was on a different JVM) * * @return the ScalarMap */ public ScalarMap getScalarMap() { return map; } /** * Get the ID type of this event. * * @return ScalarMapEvent type. Valid types are: *

*/ public int getId() { return id; } /** * Get the ID type of this event as a String * * @return The event type string. */ public String getIdString() { switch (id) { case AUTO_SCALE: return "AUTO_SCALE"; case MANUAL: return "MANUAL"; case CONTROL_ADDED: return "CONTROL_ADDED"; case CONTROL_REMOVED: return "CONTROL_REMOVED"; case CONTROL_REPLACED: return "CONTROL_REPLACED"; } return "UNKNOWN_ID=" + id; } /** * Get a one-line description of the ScalarMap which * originated this event. * * @return the one-line map description. */ String getMapString() { StringBuffer buf = new StringBuffer(); if (map instanceof ConstantMap) { buf.append(((ConstantMap )map).getConstant()); } else { buf.append(map.getScalar()); } buf.append("->"); buf.append(map.getDisplayScalar()); return buf.toString(); } public String toString() { StringBuffer buf = new StringBuffer("ScalarMapEvent["); buf.append(getIdString()); buf.append(", "); buf.append(getMapString()); buf.append(']'); return buf.toString(); } }

Ads help maintain this website.