blob: 49a15a4ba1e3cf3af8a396572e04c9c5ba1322e6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2012 Red Hat, Inc.
* All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
*
* @author Bob Brodt
******************************************************************************/
package org.eclipse.bpmn2.modeler.core.merrimac.dialogs;
import org.eclipse.bpmn2.modeler.core.adapters.ExtendedPropertiesProvider;
import org.eclipse.bpmn2.modeler.core.merrimac.clad.PropertiesCompositeFactory;
import org.eclipse.bpmn2.modeler.core.runtime.TargetRuntime;
import org.eclipse.bpmn2.modeler.help.IHelpContexts;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.graphiti.ui.editor.DiagramEditor;
import org.eclipse.jface.window.Window;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
public class ObjectEditingDialog extends AbstractObjectEditingDialog {
protected EClass featureEType;
public ObjectEditingDialog(DiagramEditor editor, EObject object) {
this(editor,object,object.eClass());
}
public ObjectEditingDialog(DiagramEditor editor, EObject object, EClass eclass) {
super(editor, object);
this.featureEType = eclass;
}
public void setFeatureEType(EClass eclass) {
this.featureEType = eclass;
}
public EClass getFeatureEType() {
return featureEType;
}
protected Composite createDialogContent(Composite parent) {
TargetRuntime rt = TargetRuntime.getRuntime(editor);
Composite content = PropertiesCompositeFactory.INSTANCE.createDialogComposite(
featureEType, parent, rt, SWT.NONE);
PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(), IHelpContexts.Property_Dialog);
return content;
}
@Override
protected String getPreferenceKey() {
return featureEType.getName();
}
@Override
public int open() {
if (title == null || title.isEmpty()) {
if (object!=null)
title = NLS.bind(Messages.ObjectEditingDialog_Edit, ExtendedPropertiesProvider.getLabel(object));
}
create();
if (cancel)
return Window.CANCEL;
if (title==null || title.isEmpty())
title = NLS.bind(Messages.ObjectEditingDialog_Create, ExtendedPropertiesProvider.getLabel(object));
return super.open();
}
}