1 /*
2 * Created on 05.03.2004
3 */
4 package org.xpcards.actions;
5
6 import org.eclipse.swt.widgets.Shell;
7 import org.xpcards.DataEntryDialog;
8 import org.xpcards.XPCards;
9 import org.xpcards.model.Iteration;
10 import org.xpcards.model.ModelElement;
11 import org.xpcards.model.Project;
12 import org.xpcards.model.Story;
13 import org.xpcards.model.Task;
14
15 /***
16 * @author galu02
17 */
18 public class NewTask extends AbstractAction {
19
20 public static final String ACTION_ID = "NewTask";
21
22 /***
23 * @see org.xpcards.actions.AbstractAction#performAction()
24 */
25 public void performAction(final Shell shell, XPCards parent, Object[] args) {
26 ModelElement parentElement = parent.getSelectedModelElement();
27 if (parentElement != null
28 && (parentElement instanceof Project
29 || parentElement instanceof Iteration
30 || parentElement instanceof Story)) {
31
32 DataEntryDialog dialog = new DataEntryDialog(shell);
33
34 dialog.setLabels(new String[] { "Task name", "Task description" });
35
36 String[] data = dialog.open();
37
38 if (data != null) {
39 Task p = new Task();
40 p.setName(data[0]);
41 p.setDescription(data[1]);
42
43 if (parentElement instanceof Project) {
44 p.setId(
45 (
46 (
47 Project) parentElement)
48 .createIsolatedTasksUniqueIndex(
49 ((Project) parentElement).getId()
50 + ":isolatedTask:"));
51 ((Project) parentElement).putIsolatedTask(p);
52 // TODO I18n
53 // parent.updatePlanningTab(p, parentElement, ((Project) parentElement).getIsolatedTasksCategory());
54 parent.selectModelElement(p);
55 } else if (parentElement instanceof Iteration) {
56 p.setId(
57 (
58 (
59 Iteration) parentElement)
60 .createIsolatedTasksUniqueIndex(
61 ((Iteration) parentElement).getId()
62 + ":isolatedTask:"));
63 ((Iteration) parentElement).putIsolatedTask(p);
64 // parent.updatePlanningTab(p, parentElement, ((Iteration) parentElement).getIsolatedTasksCategory());
65 parent.selectModelElement(p);
66 } else if (parentElement instanceof Story) {
67 p.setId(
68 ((Story) parentElement).createTasksUniqueIndex(
69 ((Story) parentElement).getId() + ":task:"));
70 ((Story) parentElement).putTask(p);
71 // parent.updatePlanningTab(p, parentElement, ((Story) parentElement).getTasksCategory());
72 parent.selectModelElement(p);
73 }
74 }
75 }
76 }
77
78 }
This page was automatically generated by Maven