/*
* $Id$
* This file is a part of the Arakhne Foundation Classes, http://www.arakhne.org/afc
*
* Copyright (c) 2000-2012 Stephane GALLAND.
* Copyright (c) 2005-10, Multiagent Team, Laboratoire Systemes et Transports,
* Universite de Technologie de Belfort-Montbeliard.
* Copyright (c) 2013-2016 The original authors, and other authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.arakhne.afc.ui.selection ;
import java.util.EventObject;
/** Event in selection manager.
*
* @author $Author: sgalland$
* @version $FullVersion$
* @mavengroupid $GroupId$
* @mavenartifactid $ArtifactId$
* @deprecated see JavaFX API
*/
@Deprecated
public class SelectionEvent extends EventObject {
private static final long serialVersionUID = 2414246708227737737L;
private final Selectable object;
private final boolean isRemoved;
private final boolean isLastEvent;
/**
* @param source
* @param object
* @param removed
* @param isAdjusting indicates if the event to fire is the last inside
* a sequence of events. If <code>true</code> the event to fire must
* be followed by other selection events that are produces by the
* same action on the selection manager. If <code>false</code>, there
* is no following selection event for the same action on the selection
* manager.
*/
public SelectionEvent(SelectionManager<?> source, Selectable object, boolean removed, boolean isAdjusting) {
super(source);
this.object = object;
this.isRemoved = removed;
this.isLastEvent = !isAdjusting;
}
/**
* {@inheritDoc}
*/
@Override
public SelectionManager<?> getSource() {
return (SelectionManager<?>)super.getSource();
}
/** Replies the selectable object concerned by the selection event.
*
* @return the figure.
*/
public Selectable getSelectable() {
return this.object;
}
/** Replies if the selectable object has just been selected.
*
* @return <code>true</code> if the selectable object state passes from
* unselected to selected.
*/
public boolean isSelected() {
return !this.isRemoved;
}
/** Replies if the selectable object has just been unselected.
*
* @return <code>true</code> if the selectable object state passes from
* selected to unselected.
*/
public boolean isUnselected() {
return this.isRemoved;
}
/** Replies if this event is the last event in a
* sequence of events that are fire by a single
* action on the selection manager.
* <p>
* This flag may be used to update some external
* objects (eg, UI) at the end of a sequence
* of selection changes.
*
* @return <code>true</code> if this event is the
* last of a sequence of events; <code>false</code>
* if this event is a part of a sequence of selection
* events, but not the last one.
*/
public boolean isLastEvent() {
return this.isLastEvent;
}
}