blob: e0ed7768af611f1c2888a366ca21e9b2c38474fb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 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.tests.keys;
import org.eclipse.core.commands.CommandManager;
import org.eclipse.core.commands.Parameterization;
import org.eclipse.core.commands.ParameterizedCommand;
import org.eclipse.jface.bindings.Binding;
import org.eclipse.jface.bindings.Trigger;
import org.eclipse.jface.bindings.TriggerSequence;
import org.eclipse.jface.util.Util;
/**
* A binding that can be used for testing purposes. This guarantees that the
* properties tested are inherent to all bindings, and not just a specific type
* of bindings.
*/
final class TestBinding extends Binding {
/**
* A simple trigger sequence for this test.
*/
static final class TestTriggerSequence extends TriggerSequence {
/**
* Constructs a new instance of <code>TestTriggerSequence</code>.
*
* @param myTriggers
* The triggers to use in constructing this sequence; must
* not be <code>null</code>.
*/
public TestTriggerSequence() {
super(new Trigger[0]);
}
public final String format() {
return toString();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.bindings.TriggerSequence#getPrefixes()
*/
public TriggerSequence[] getPrefixes() {
return new TriggerSequence[0];
}
}
/**
* A command manager to use for creating commands.
*/
private static final CommandManager commandManager = new CommandManager();
/**
* A trigger sequence to be used by all test bindings. This value is never
* <code>null</code>.
*/
static final TriggerSequence TRIGGER_SEQUENCE = new TestTriggerSequence();
/**
* Constructs a new instance of <code>TestBinding</code>
*
* @param commandId
* The command id
* @param schemeId
* The scheme id
* @param contextId
* The context id
* @param locale
* The locale
* @param platform
* The platform
* @param type
* The type: SYSTEM or USER
* @param paramaterizations
* The parameters
*/
TestBinding(final String commandId, final String schemeId,
final String contextId, final String locale, final String platform,
final int type, final Parameterization[] parameterizations) {
super((commandId == null) ? null : new ParameterizedCommand(
commandManager.getCommand(commandId), parameterizations),
schemeId, contextId, locale, platform, null, type);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.bindings.Binding#getTriggerSequence()
*/
public final TriggerSequence getTriggerSequence() {
return TRIGGER_SEQUENCE;
}
public final String toString() {
return Util.ZERO_LENGTH_STRING;
}
}