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

org.eclipse.ui.commands.CommandEvent Maven / Gradle / Ivy

Go to download

This plug-in contains the bulk of the Workbench implementation, and depends on JFace, SWT, and Core Runtime. It cannot be used independently from org.eclipse.ui. Workbench client plug-ins should not depend directly on this plug-in.

The newest version!
/*******************************************************************************
 * Copyright (c) 2003, 2006 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.ui.commands;

import java.util.Collections;
import java.util.Map;

import org.eclipse.ui.internal.util.Util;

/**
 * An instance of this class describes changes to an instance of
 * ICommand.
 * 

* This class is not intended to be extended by clients. *

* * @since 3.0 * @see ICommandListener#commandChanged(CommandEvent) * @deprecated Please use the "org.eclipse.core.commands" plug-in instead. * @see org.eclipse.core.commands.CommandEvent */ public final class CommandEvent { /** * Whether the attributes of the command have changed. These are name and * value pairs representing properties of the command. */ private final boolean attributeValuesByNameChanged; /** * Whether the category identifier has changed. */ private final boolean categoryIdChanged; /** * The command that has changed; this value is never null. */ private final ICommand command; /** * Whether the defined state of the command has changed. */ private final boolean definedChanged; /** * Whether the description of the command has changed. */ private final boolean descriptionChanged; /** * Whether the command has either gained or lost a handler. */ private final boolean handledChanged; /** * Whether the key bindings for the command have changed. */ private final boolean keySequenceBindingsChanged; /** * Whether the name of the command has changed. */ private final boolean nameChanged; /** * The map of attributes before the change. This is a map of attribute name * (strings) to values (any object). */ private Map previousAttributeValuesByName; /** * Creates a new instance of this class. * * @param command * the instance of the interface that changed. * @param attributeValuesByNameChanged * true, iff the attributeValuesByName property changed. * @param categoryIdChanged * true, iff the categoryId property changed. * @param definedChanged * true, iff the defined property changed. * @param descriptionChanged * true, iff the description property changed. * @param handledChanged * true, iff the handled property changed. * @param keySequenceBindingsChanged * true, iff the keySequenceBindings property changed. * @param nameChanged * true, iff the name property changed. * @param previousAttributeValuesByName * the map of previous attribute values by name. This map may be * empty. If this map is not empty, it's collection of keys must * only contain instances of String. This map * must be null if attributeValuesByNameChanged is * false and must not be null if * attributeValuesByNameChanged is true. */ public CommandEvent(ICommand command, boolean attributeValuesByNameChanged, boolean categoryIdChanged, boolean definedChanged, boolean descriptionChanged, boolean handledChanged, boolean keySequenceBindingsChanged, boolean nameChanged, Map previousAttributeValuesByName) { if (command == null) { throw new NullPointerException(); } if (!attributeValuesByNameChanged && previousAttributeValuesByName != null) { throw new IllegalArgumentException(); } if (attributeValuesByNameChanged) { if (previousAttributeValuesByName == null) { this.previousAttributeValuesByName = Collections.EMPTY_MAP; } else { this.previousAttributeValuesByName = Util.safeCopy( previousAttributeValuesByName, String.class, Object.class, false, true); } } this.command = command; this.attributeValuesByNameChanged = attributeValuesByNameChanged; this.categoryIdChanged = categoryIdChanged; this.definedChanged = definedChanged; this.descriptionChanged = descriptionChanged; this.handledChanged = handledChanged; this.keySequenceBindingsChanged = keySequenceBindingsChanged; this.nameChanged = nameChanged; } /** * Returns the instance of the interface that changed. * * @return the instance of the interface that changed. Guaranteed not to be * null. */ public ICommand getCommand() { return command; } /** * Returns the map of previous attribute values by name. * * @return the map of previous attribute values by name. This map may be * empty. If this map is not empty, it's collection of keys is * guaranteed to only contain instances of String. * This map is guaranteed to be null if * haveAttributeValuesByNameChanged() is false and is * guaranteed to not be null if haveAttributeValuesByNameChanged() * is true. */ public Map getPreviousAttributeValuesByName() { return previousAttributeValuesByName; } /** * Returns whether or not the categoryId property changed. * * @return true, iff the categoryId property changed. */ public boolean hasCategoryIdChanged() { return categoryIdChanged; } /** * Returns whether or not the defined property changed. * * @return true, iff the defined property changed. */ public boolean hasDefinedChanged() { return definedChanged; } /** * Returns whether or not the description property changed. * * @return true, iff the description property changed. */ public boolean hasDescriptionChanged() { return descriptionChanged; } /** * Returns whether or not the handled property changed. * * @return true, iff the handled property changed. */ public boolean hasHandledChanged() { return handledChanged; } /** * Returns whether or not the name property changed. * * @return true, iff the name property changed. */ public boolean hasNameChanged() { return nameChanged; } /** * Returns whether or not the attributeValuesByName property changed. * * @return true, iff the attributeValuesByName property changed. */ public boolean haveAttributeValuesByNameChanged() { return attributeValuesByNameChanged; } /** * Returns whether or not the keySequenceBindings property changed. * * @return true, iff the keySequenceBindings property changed. */ public boolean haveKeySequenceBindingsChanged() { return keySequenceBindingsChanged; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy