package org.nightlabs.jfire.issuetracking.ui.issuelink.person; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.graphics.Point; import org.eclipse.ui.IViewActionDelegate; import org.eclipse.ui.IViewPart; import org.nightlabs.base.ui.resource.SharedImages; import org.nightlabs.base.ui.wizard.DynamicPathWizardDialog; import org.nightlabs.jfire.issuetracking.ui.issuelink.attach.AttachIssueToObjectWizard; import org.nightlabs.jfire.issuetracking.ui.resource.Messages; /** * @author Fitas Amine - fitas at nightlabs dot de * */ public class CreateNewIssueViewAction extends Action implements IViewActionDelegate { public static final String ID = CreateNewIssueViewAction.class.getName(); public CreateNewIssueViewAction () { super(); setId(ID); } private IPersonIssueLinkView view; /** * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ public void init(IViewPart view) { if (view instanceof IPersonIssueLinkView) { this.view = (IPersonIssueLinkView) view; } } /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ @Override public void run(IAction arg0) { run(); } /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) */ @Override public void selectionChanged(IAction arg0, ISelection arg1) { // do nothing } @Override public void run() { if (view != null && view.getPerson() != null) { AttachIssueToObjectWizard attachIssueToObjectWizard = new AttachIssueToObjectWizard(view.getPerson()); DynamicPathWizardDialog dialog = new DynamicPathWizardDialog(view.getSite().getShell(), attachIssueToObjectWizard) { @Override protected Point getInitialSize() { return new Point(convertHorizontalDLUsToPixels(600), convertVerticalDLUsToPixels(450)); } }; dialog.open(); } } @Override public ImageDescriptor getImageDescriptor() { return SharedImages.ADD_16x16; } @Override public String getText() { return Messages.getString("org.nightlabs.jfire.issuetracking.ui.issuelink.person.CreateNewIssueViewAction.text"); //$NON-NLS-1$ } @Override public String getToolTipText() { return Messages.getString("org.nightlabs.jfire.issuetracking.ui.issuelink.person.CreateNewIssueViewAction.tooltip"); //$NON-NLS-1$ } }