/*******************************************************************************
* Copyright (c) 2013 Olivier Moises
*
* 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:
* Olivier Moises- initial API and implementation
*******************************************************************************/
package org.eclipse.wazaabi.ide.ui.editpolicies;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.IEditingDomainProvider;
import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.UnexecutableCommand;
import org.eclipse.gef.requests.ChangeBoundsRequest;
import org.eclipse.gef.requests.CreateRequest;
public class RootEditPartTreeContainerEditPolicy extends
org.eclipse.gef.editpolicies.TreeContainerEditPolicy
{
protected Command createCreateCommand(EObject child, int index, String label) {
// if (getHost().getModel() instanceof Container)
// if (child instanceof AbstractComponent) {
// InsertNewComponentCommand cmd = new InsertNewComponentCommand();
// cmd.setContainer((Container) getHost().getModel());
// cmd.setChild((AbstractComponent) child);
// cmd.setLabel(label);
// if (index >= 0)
// cmd.setIndex(index);
// return cmd;
// } else if (child instanceof LayoutRule) {
// InsertNewUniqueLayoutCommand cmd = new
// InsertNewUniqueLayoutCommand();
// cmd.setContainer((Container) getHost().getModel());
// cmd.setLayout((LayoutRule) child);
// cmd.setLabel(label);
// return cmd;
// }
// if (getHost().getModel() instanceof AbstractComponent
// && child instanceof LayoutDataRule) {
// InsertNewUniqueLayoutDataCommand cmd = new
// InsertNewUniqueLayoutDataCommand();
// cmd.setComponent((AbstractComponent) getHost().getModel());
// cmd.setLayoutData((LayoutDataRule) child);
// cmd.setLabel(label);
// return cmd;
// }
System.out.println((((IEditingDomainProvider) getHost().getViewer())
.getEditingDomain()));
return null;
}
protected Command getAddCommand(ChangeBoundsRequest request) {
return UnexecutableCommand.INSTANCE;
}
protected Command getCreateCommand(CreateRequest request) {
if (request.getNewObject() instanceof EObject) {
EObject child = (EObject) request.getNewObject();
int index = findIndexOfTreeItemAt(request.getLocation());
return createCreateCommand(child, index, "Create ...");//$NON-NLS-1$
}
return null;
}
protected Command getMoveChildrenCommand(ChangeBoundsRequest request) {
return UnexecutableCommand.INSTANCE;
}
@Override
public void eraseTargetFeedback(Request req) {
// TODO Auto-generated method stub
super.eraseTargetFeedback(req);
}
@Override
public void showTargetFeedback(Request req) {
// TODO Auto-generated method stub
super.showTargetFeedback(req);
}
}