package com.isencia.passerelle.workbench.model.editor.ui.properties;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbenchPart;
import ptolemy.kernel.util.NamedObj;
import com.isencia.passerelle.workbench.model.editor.ui.views.ActorAttributesTableViewer;
public class ActorDialog extends Dialog {
private NamedObj actor;
private IWorkbenchPart part;
private ActorAttributesTableViewer viewer;
public ActorDialog(IWorkbenchPart part, NamedObj actor) {
super(part.getSite().getShell());
setShellStyle(SWT.RESIZE | SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL);
this.actor = actor;
this.part = part;
}
protected Control createDialogArea(Composite parent) {
Composite composite = (Composite)super.createDialogArea(parent);
this.viewer = new ActorAttributesTableViewer(actor,part,composite,
SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
data.heightHint = 200;
viewer.getTable().setLayoutData(data);
return composite;
}
public void create() {
super.create();
getShell().setText("Edit Attributes of '"+actor.getDisplayName()+"'");
viewer.createTableModel(part, actor);
}
@Override
public boolean close() {
viewer.createTableModel(part, null);
return super.close();
}
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, "Close", true);
}
}