blob: ea6f54ee0aa4d6804ea6bc9e5c8a80edeff0db97 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012, 2020 Dirk Fauth and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Dirk Fauth <dirk.fauth@googlemail.com> - initial API and implementation
*******************************************************************************/
package org.eclipse.nebula.widgets.nattable.persistence.command;
/**
* Event that will be fired if the NatTable states/view configurations are
* changed using the PersistenceDialog.
*
* <p>
* Will only contain the name of the view configuration (might also be known as
* state prefix) and the type of change made to it. It will not carry the
* Properties itself.
*
* @see IStateChangedListener
*/
public class StateChangeEvent {
/**
* Enum for the type of change that was done to a NatTable view
* configuration.
*/
public enum StateChangeType {
/**
* A view configuration has changed. This normally occurs if an existing
* view configuration gets overridden.
*/
CHANGE,
/**
* A view configuration was created by saving a current NatTable state
* via the PersistenceDialog.
*/
CREATE,
/**
* A view configuration was deleted by using the PersistenceDialog.
*/
DELETE
}
/**
* The type of change that was done to a view configuration.
*/
private final StateChangeType type;
/**
* The name of the view configuration (or prefix) that has been changed.
*/
private final String viewConfigName;
/**
* Create a new {@link StateChangeEvent} for the given view configuration
* name and type of change.
*
* @param viewConfigName
* The name of the view configuration (or prefix) that has been
* changed.
* @param type
* The type of change that was done to a view configuration.
*/
public StateChangeEvent(String viewConfigName, StateChangeType type) {
this.viewConfigName = viewConfigName;
this.type = type;
}
/**
* @return The type of change that was done to a view configuration.
*/
public StateChangeType getType() {
return this.type;
}
/**
* @return The name of the view configuration (or prefix) that has been
* changed.
*/
public String getViewConfigName() {
return this.viewConfigName;
}
}