Lines 21-26
Link Here
|
21 |
import org.eclipse.jface.viewers.ISelection; |
21 |
import org.eclipse.jface.viewers.ISelection; |
22 |
import org.eclipse.jface.viewers.StructuredSelection; |
22 |
import org.eclipse.jface.viewers.StructuredSelection; |
23 |
import org.eclipse.mylyn.internal.tasks.core.LocalTask; |
23 |
import org.eclipse.mylyn.internal.tasks.core.LocalTask; |
|
|
24 |
import org.eclipse.mylyn.internal.tasks.ui.TaskTransfer; |
24 |
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; |
25 |
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; |
25 |
import org.eclipse.mylyn.internal.tasks.ui.editors.EditorBusyIndicator; |
26 |
import org.eclipse.mylyn.internal.tasks.ui.editors.EditorBusyIndicator; |
26 |
import org.eclipse.mylyn.internal.tasks.ui.editors.IBusyEditor; |
27 |
import org.eclipse.mylyn.internal.tasks.ui.editors.IBusyEditor; |
Lines 31-37
Link Here
|
31 |
import org.eclipse.mylyn.tasks.core.RepositoryTaskData; |
32 |
import org.eclipse.mylyn.tasks.core.RepositoryTaskData; |
32 |
import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi; |
33 |
import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi; |
33 |
import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; |
34 |
import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; |
34 |
import org.eclipse.mylyn.tasks.ui.TasksUiUtil; |
35 |
import org.eclipse.swt.dnd.DND; |
|
|
36 |
import org.eclipse.swt.dnd.FileTransfer; |
37 |
import org.eclipse.swt.dnd.TextTransfer; |
38 |
import org.eclipse.swt.dnd.Transfer; |
35 |
import org.eclipse.swt.graphics.Image; |
39 |
import org.eclipse.swt.graphics.Image; |
36 |
import org.eclipse.ui.IEditorInput; |
40 |
import org.eclipse.ui.IEditorInput; |
37 |
import org.eclipse.ui.IEditorPart; |
41 |
import org.eclipse.ui.IEditorPart; |
Lines 65-77
Link Here
|
65 |
private IEditorPart contentOutlineProvider = null; |
69 |
private IEditorPart contentOutlineProvider = null; |
66 |
|
70 |
|
67 |
public final Object FAMILY_SUBMIT = new Object(); |
71 |
public final Object FAMILY_SUBMIT = new Object(); |
68 |
|
72 |
|
69 |
private MenuManager menuManager = new MenuManager(); |
73 |
private MenuManager menuManager = new MenuManager(); |
70 |
|
74 |
|
71 |
private EditorBusyIndicator editorBusyIndicator; |
75 |
private EditorBusyIndicator editorBusyIndicator; |
72 |
|
76 |
|
73 |
private IHyperlinkListener messageHyperLinkListener; |
77 |
private IHyperlinkListener messageHyperLinkListener; |
74 |
|
78 |
|
|
|
79 |
private TitleDragSource titleDragSource; |
80 |
|
75 |
public TaskEditor() { |
81 |
public TaskEditor() { |
76 |
super(); |
82 |
super(); |
77 |
taskPlanningEditor = new TaskPlanningEditor(this); |
83 |
taskPlanningEditor = new TaskPlanningEditor(this); |
Lines 88-96
Link Here
|
88 |
public TaskEditorActionContributor getContributor() { |
94 |
public TaskEditorActionContributor getContributor() { |
89 |
return (TaskEditorActionContributor) getEditorSite().getActionBarContributor(); |
95 |
return (TaskEditorActionContributor) getEditorSite().getActionBarContributor(); |
90 |
} |
96 |
} |
91 |
|
97 |
|
92 |
/** |
98 |
/** |
93 |
* @param Configurs standard task editor context menu |
99 |
* @param Configurs |
|
|
100 |
* standard task editor context menu |
94 |
* @Since 2.3 |
101 |
* @Since 2.3 |
95 |
*/ |
102 |
*/ |
96 |
protected void configureContextMenuManager(MenuManager manager) { |
103 |
protected void configureContextMenuManager(MenuManager manager) { |
Lines 227-233
Link Here
|
227 |
|
234 |
|
228 |
@Override |
235 |
@Override |
229 |
public void dispose() { |
236 |
public void dispose() { |
230 |
|
237 |
|
231 |
if (editorBusyIndicator != null) { |
238 |
if (editorBusyIndicator != null) { |
232 |
editorBusyIndicator.stop(); |
239 |
editorBusyIndicator.stop(); |
233 |
} |
240 |
} |
Lines 333-339
Link Here
|
333 |
} |
340 |
} |
334 |
} else if (getEditorInput() instanceof AbstractRepositoryTaskEditorInput) { |
341 |
} else if (getEditorInput() instanceof AbstractRepositoryTaskEditorInput) { |
335 |
this.setTitleImage(TasksUiImages.getImage(TasksUiImages.TASK_REMOTE)); |
342 |
this.setTitleImage(TasksUiImages.getImage(TasksUiImages.TASK_REMOTE)); |
336 |
} else { |
343 |
} else { |
337 |
setTitleImage(TasksUiImages.getImage(TasksUiImages.TASK)); |
344 |
setTitleImage(TasksUiImages.getImage(TasksUiImages.TASK)); |
338 |
} |
345 |
} |
339 |
|
346 |
|
Lines 368-376
Link Here
|
368 |
// } |
375 |
// } |
369 |
|
376 |
|
370 |
if (busy) { |
377 |
if (busy) { |
371 |
if (TasksUiUtil.isAnimationsEnabled()) { |
378 |
editorBusyIndicator.start(); |
372 |
editorBusyIndicator.start(); |
|
|
373 |
} |
374 |
} else { |
379 |
} else { |
375 |
editorBusyIndicator.stop(); |
380 |
editorBusyIndicator.stop(); |
376 |
} |
381 |
} |
Lines 393-421
Link Here
|
393 |
|
398 |
|
394 |
@Override |
399 |
@Override |
395 |
protected void createHeaderContents(IManagedForm headerForm) { |
400 |
protected void createHeaderContents(IManagedForm headerForm) { |
396 |
getToolkit().decorateFormHeading(headerForm.getForm().getForm()); |
401 |
Form form = headerForm.getForm().getForm(); |
|
|
402 |
getToolkit().decorateFormHeading(form); |
397 |
headerForm.getForm().setImage(TasksUiImages.getImage(TasksUiImages.TASK)); |
403 |
headerForm.getForm().setImage(TasksUiImages.getImage(TasksUiImages.TASK)); |
398 |
updateFormTitle(); |
404 |
updateFormTitle(); |
|
|
405 |
|
406 |
} |
407 |
|
408 |
private void installTitleDrag(Form form) { |
409 |
if (null == titleDragSource) { |
410 |
Transfer[] transferTypes; |
411 |
if (null == task) { |
412 |
transferTypes = new Transfer[] { TextTransfer.getInstance() }; |
413 |
} else { |
414 |
transferTypes = new Transfer[] { TaskTransfer.getInstance(), TextTransfer.getInstance(), |
415 |
FileTransfer.getInstance() }; |
416 |
} |
417 |
titleDragSource = new TitleDragSource(this); |
418 |
form.addTitleDragSupport(DND.DROP_MOVE | DND.DROP_LINK, transferTypes, titleDragSource); |
419 |
} |
399 |
} |
420 |
} |
400 |
|
421 |
|
401 |
protected void updateFormTitle() { |
422 |
protected void updateFormTitle() { |
402 |
IEditorInput input = getEditorInput(); |
423 |
IEditorInput input = getEditorInput(); |
403 |
if (input instanceof TaskEditorInput) { |
424 |
if (input instanceof TaskEditorInput) { |
404 |
AbstractTask task = ((TaskEditorInput) input).getTask(); |
425 |
task = ((TaskEditorInput) input).getTask(); |
405 |
if (task instanceof LocalTask) { |
426 |
if (task instanceof LocalTask) { |
406 |
getHeaderForm().getForm().setText("Task: " + task.getSummary()); |
427 |
getHeaderForm().getForm().setText("Task: " + task.getSummary()); |
407 |
} else { |
428 |
} else { |
408 |
setFormHeaderImage(task.getConnectorKind()); |
429 |
setFormHeaderImage(task.getConnectorKind()); |
409 |
setFormHeaderLabel(task); |
430 |
setFormHeaderLabel(task); |
410 |
return; |
431 |
// return; |
411 |
} |
432 |
} |
412 |
} else if (input instanceof RepositoryTaskEditorInput) { |
433 |
} else if (input instanceof RepositoryTaskEditorInput) { |
413 |
AbstractTask task = ((RepositoryTaskEditorInput) input).getRepositoryTask(); |
434 |
task = ((RepositoryTaskEditorInput) input).getRepositoryTask(); |
414 |
RepositoryTaskData data = ((RepositoryTaskEditorInput) input).getTaskData(); |
435 |
RepositoryTaskData data = ((RepositoryTaskEditorInput) input).getTaskData(); |
415 |
if (task != null && data != null && !data.isNew()) { |
436 |
if (task != null && data != null && !data.isNew()) { |
416 |
setFormHeaderImage(task.getConnectorKind()); |
437 |
setFormHeaderImage(task.getConnectorKind()); |
417 |
setFormHeaderLabel(task); |
438 |
setFormHeaderLabel(task); |
418 |
return; |
439 |
// return; |
419 |
} else { |
440 |
} else { |
420 |
if (data != null) { |
441 |
if (data != null) { |
421 |
setFormHeaderImage(data.getRepositoryKind()); |
442 |
setFormHeaderImage(data.getRepositoryKind()); |
Lines 423-428
Link Here
|
423 |
} |
444 |
} |
424 |
} |
445 |
} |
425 |
} |
446 |
} |
|
|
447 |
installTitleDrag(getHeaderForm().getForm().getForm()); |
426 |
} |
448 |
} |
427 |
|
449 |
|
428 |
private void setFormHeaderImage(String repositoryKind) { |
450 |
private void setFormHeaderImage(String repositoryKind) { |
Lines 438-450
Link Here
|
438 |
} |
460 |
} |
439 |
|
461 |
|
440 |
/** |
462 |
/** |
441 |
* @since 2.3 |
463 |
* @since 2.3 |
442 |
*/ |
464 |
*/ |
443 |
public void setMessage(String message, int type, IHyperlinkListener listener) { |
465 |
public void setMessage(String message, int type, IHyperlinkListener listener) { |
444 |
if (this.getHeaderForm() != null && this.getHeaderForm().getForm() != null) { |
466 |
if (this.getHeaderForm() != null && this.getHeaderForm().getForm() != null) { |
445 |
if (!this.getHeaderForm().getForm().isDisposed()) { |
467 |
if (!this.getHeaderForm().getForm().isDisposed()) { |
446 |
getTopForm().setMessage(message, type); |
468 |
getTopForm().setMessage(message, type); |
447 |
|
469 |
|
448 |
if (messageHyperLinkListener != null) { |
470 |
if (messageHyperLinkListener != null) { |
449 |
getTopForm().removeMessageHyperlinkListener(messageHyperLinkListener); |
471 |
getTopForm().removeMessageHyperlinkListener(messageHyperLinkListener); |
450 |
} |
472 |
} |
Lines 459-465
Link Here
|
459 |
public void setMessage(String message, int type) { |
481 |
public void setMessage(String message, int type) { |
460 |
setMessage(message, type, null); |
482 |
setMessage(message, type, null); |
461 |
} |
483 |
} |
462 |
|
484 |
|
463 |
protected IWorkbenchSiteProgressService getProgressService() { |
485 |
protected IWorkbenchSiteProgressService getProgressService() { |
464 |
Object siteService = getEditorSite().getAdapter(IWorkbenchSiteProgressService.class); |
486 |
Object siteService = getEditorSite().getAdapter(IWorkbenchSiteProgressService.class); |
465 |
if (siteService != null) |
487 |
if (siteService != null) |