blob: a6ea6d46ab40d438b1cf73b58c6d2658499cb287 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2018 Agence spatiale canadienne / Canadian Space Agency
* 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:
* Pierre Allard,
* Regent L'Archeveque - initial API and implementation
*
* SPDX-License-Identifier: EPL-1.0
*
*******************************************************************************/
package org.eclipse.apogy.common.emf.edit.utils.impl;
import java.util.Collection;
import java.util.Iterator;
import org.eclipse.emf.edit.command.CommandParameter;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
public class ApogyCommonEMFEditUtilsFacadeCustomImpl extends ApogyCommonEMFEditUtilsFacadeImpl {
@Override
public String getText(Object object) {
ComposedAdapterFactory factory = new ComposedAdapterFactory(
ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
IItemLabelProvider labelProvider = (IItemLabelProvider) factory.adapt(object, IItemLabelProvider.class);
if (object != null) {
return labelProvider == null ? object.toString() : labelProvider.getText(object);
} else {
return null;
}
}
@Override
public void removeChildDescriptor(Collection<Object> newChildDescriptors, Object feature) {
Iterator<Object> commandParameters = newChildDescriptors.iterator();
boolean removed = false;
while (commandParameters.hasNext() && !removed) {
CommandParameter commandParameter = (CommandParameter) commandParameters.next();
if (commandParameter.getFeature() == feature) {
newChildDescriptors.remove(commandParameter);
removed = true;
}
}
}
} // ApogyCommonEMFEditUtilsFacadeImpl