package org.nightlabs.jfire.issuetracking.ui.project.create; import org.eclipse.jface.action.Action; import org.eclipse.jface.viewers.TreeSelection; import org.eclipse.jface.viewers.TreeViewer; import org.nightlabs.base.ui.resource.SharedImages; import org.nightlabs.base.ui.wizard.DynamicPathWizardDialog; import org.nightlabs.jfire.issue.project.Project; import org.nightlabs.jfire.issuetracking.ui.IssueTrackingPlugin; import org.nightlabs.jfire.issuetracking.ui.project.ProjectAdminTreeComposite; import org.nightlabs.jfire.issuetracking.ui.project.ProjectTreeNode; import org.nightlabs.jfire.issuetracking.ui.resource.Messages; public class CreateSubProjectAction extends Action { // private InputDialog dialog; private TreeViewer projectTreeViewer; public CreateSubProjectAction(TreeViewer projectTreeViewer) { this.projectTreeViewer = projectTreeViewer; setId(CreateSubProjectAction.class.getName()); setImageDescriptor(SharedImages.getSharedImageDescriptor( IssueTrackingPlugin.getDefault(), ProjectAdminTreeComposite.class, "Create")); //$NON-NLS-1$ setToolTipText(Messages.getString("org.nightlabs.jfire.issuetracking.ui.project.create.CreateSubProjectAction.CreateSubProjectAction.toolTipText")); //$NON-NLS-1$ setText(Messages.getString("org.nightlabs.jfire.issuetracking.ui.project.create.CreateSubProjectAction.CreateSubProjectAction.text")); //$NON-NLS-1$ } @Override public void run() { TreeSelection selection = (TreeSelection)projectTreeViewer.getSelection(); Project projectToStore = ((ProjectTreeNode)(selection.getFirstElement())).getJdoObject(); DynamicPathWizardDialog dialog = new DynamicPathWizardDialog(new CreateProjectWizard(projectToStore)); dialog.open(); // dialog = new InputDialog(RCPUtil.getActiveShell(), "Create Sub Project", "Enter project's name", "Name", null) { // @Override // protected void okPressed() { // try { // TreeSelection selection = (TreeSelection)projectTreeViewer.getSelection(); // Project projectToStore = ((ProjectTreeNode)(selection.getFirstElement())).getJdoObject(); // Project project = new Project(Login.getLogin().getOrganisationID(), IDGenerator.nextID(Project.class)); // project.getName().setText(Locale.ENGLISH.getLanguage(), getValue()); // // projectToStore = ProjectDAO.sharedInstance().getProject( // projectToStore.getObjectId(), new String[]{Project.FETCH_GROUP_NAME, Project.FETCH_GROUP_SUBPROJECTS}, NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, new NullProgressMonitor()); // projectToStore.addSubProject(project); // ProjectDAO.sharedInstance().storeProject(projectToStore, false, new String[]{FetchPlan.DEFAULT}, NLJDOHelper.MAX_FETCH_DEPTH_NO_LIMIT, new NullProgressMonitor()); // dialog.close(); // } catch (Exception e) { // throw new RuntimeException(e); // } // }; // // @Override // protected Control createDialogArea(Composite parent) { // Control dialogArea = super.createDialogArea(parent); // return dialogArea; // } // }; // // if (dialog.open() != Window.OK) // return; } }