|
Lines 17-26
Link Here
|
| 17 |
import java.util.Collection; |
17 |
import java.util.Collection; |
| 18 |
import java.util.Collections; |
18 |
import java.util.Collections; |
| 19 |
import java.util.Date; |
19 |
import java.util.Date; |
|
|
20 |
import java.util.HashMap; |
| 20 |
import java.util.Iterator; |
21 |
import java.util.Iterator; |
| 21 |
import java.util.LinkedHashSet; |
22 |
import java.util.LinkedHashSet; |
| 22 |
import java.util.LinkedList; |
23 |
import java.util.LinkedList; |
| 23 |
import java.util.List; |
24 |
import java.util.List; |
|
|
25 |
import java.util.Map; |
| 24 |
import java.util.Set; |
26 |
import java.util.Set; |
| 25 |
|
27 |
|
| 26 |
import org.eclipse.core.runtime.Assert; |
28 |
import org.eclipse.core.runtime.Assert; |
|
Lines 349-357
Link Here
|
| 349 |
// automatically refresh if the user has not made any changes and there is no chance of missing incomings |
351 |
// automatically refresh if the user has not made any changes and there is no chance of missing incomings |
| 350 |
refreshFormContent(); |
352 |
refreshFormContent(); |
| 351 |
} else { |
353 |
} else { |
| 352 |
getTaskEditor().setMessage( |
354 |
getTaskEditor().setMessage(Messages.AbstractTaskEditorPage_Task_has_incoming_changes, |
| 353 |
Messages.AbstractTaskEditorPage_Task_has_incoming_changes, IMessageProvider.WARNING, |
355 |
IMessageProvider.WARNING, new HyperlinkAdapter() { |
| 354 |
new HyperlinkAdapter() { |
|
|
| 355 |
@Override |
356 |
@Override |
| 356 |
public void linkActivated(HyperlinkEvent e) { |
357 |
public void linkActivated(HyperlinkEvent e) { |
| 357 |
refreshFormContent(); |
358 |
refreshFormContent(); |
|
Lines 450-455
Link Here
|
| 450 |
|
451 |
|
| 451 |
private TaskAttachmentDropListener defaultDropListener; |
452 |
private TaskAttachmentDropListener defaultDropListener; |
| 452 |
|
453 |
|
|
|
454 |
private final Map<TaskAttribute, AbstractAttributeEditor> attributeEditorMap = new HashMap<TaskAttribute, AbstractAttributeEditor>(); |
| 455 |
|
| 453 |
// TODO 3.1 define constructor for setting id and label |
456 |
// TODO 3.1 define constructor for setting id and label |
| 454 |
public AbstractTaskEditorPage(TaskEditor editor, String connectorKind) { |
457 |
public AbstractTaskEditorPage(TaskEditor editor, String connectorKind) { |
| 455 |
super(editor, "id", "label"); //$NON-NLS-1$ //$NON-NLS-2$ |
458 |
super(editor, "id", "label"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
Lines 559-567
Link Here
|
| 559 |
|
562 |
|
| 560 |
AbstractRepositoryConnectorUi connectorUi = TasksUiPlugin.getConnectorUi(getConnectorKind()); |
563 |
AbstractRepositoryConnectorUi connectorUi = TasksUiPlugin.getConnectorUi(getConnectorKind()); |
| 561 |
if (connectorUi == null) { |
564 |
if (connectorUi == null) { |
| 562 |
getTaskEditor().setMessage( |
565 |
getTaskEditor().setMessage(Messages.AbstractTaskEditorPage_Synchronize_to_update_editor_contents, |
| 563 |
Messages.AbstractTaskEditorPage_Synchronize_to_update_editor_contents, IMessageProvider.INFORMATION, |
566 |
IMessageProvider.INFORMATION, new HyperlinkAdapter() { |
| 564 |
new HyperlinkAdapter() { |
|
|
| 565 |
@Override |
567 |
@Override |
| 566 |
public void linkActivated(HyperlinkEvent e) { |
568 |
public void linkActivated(HyperlinkEvent e) { |
| 567 |
refreshFormContent(); |
569 |
refreshFormContent(); |
|
Lines 791-802
Link Here
|
| 791 |
model.save(monitor); |
793 |
model.save(monitor); |
| 792 |
} catch (final CoreException e) { |
794 |
} catch (final CoreException e) { |
| 793 |
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Error saving task", e)); //$NON-NLS-1$ |
795 |
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Error saving task", e)); //$NON-NLS-1$ |
| 794 |
getTaskEditor().setMessage( |
796 |
getTaskEditor().setMessage(Messages.AbstractTaskEditorPage_Could_not_save_task, IMessageProvider.ERROR, |
| 795 |
Messages.AbstractTaskEditorPage_Could_not_save_task, IMessageProvider.ERROR, new HyperlinkAdapter() { |
797 |
new HyperlinkAdapter() { |
| 796 |
@Override |
798 |
@Override |
| 797 |
public void linkActivated(HyperlinkEvent event) { |
799 |
public void linkActivated(HyperlinkEvent event) { |
| 798 |
TasksUiInternal.displayStatus( |
800 |
TasksUiInternal.displayStatus(Messages.AbstractTaskEditorPage_Save_failed, e.getStatus()); |
| 799 |
Messages.AbstractTaskEditorPage_Save_failed, e.getStatus()); |
|
|
| 800 |
} |
801 |
} |
| 801 |
}); |
802 |
}); |
| 802 |
} |
803 |
} |
|
Lines 844-851
Link Here
|
| 844 |
public void fillToolBar(IToolBarManager toolBarManager) { |
845 |
public void fillToolBar(IToolBarManager toolBarManager) { |
| 845 |
final TaskRepository taskRepository = (model != null) ? getModel().getTaskRepository() : null; |
846 |
final TaskRepository taskRepository = (model != null) ? getModel().getTaskRepository() : null; |
| 846 |
if (taskRepository != null) { |
847 |
if (taskRepository != null) { |
| 847 |
ControlContribution repositoryLabelControl = new ControlContribution( |
848 |
ControlContribution repositoryLabelControl = new ControlContribution(Messages.AbstractTaskEditorPage_Title) { |
| 848 |
Messages.AbstractTaskEditorPage_Title) { |
|
|
| 849 |
@Override |
849 |
@Override |
| 850 |
protected Control createControl(Composite parent) { |
850 |
protected Control createControl(Composite parent) { |
| 851 |
FormToolkit toolkit = getTaskEditor().getHeaderForm().getToolkit(); |
851 |
FormToolkit toolkit = getTaskEditor().getHeaderForm().getToolkit(); |
|
Lines 1100-1107
Link Here
|
| 1100 |
getTaskEditor().setMessage(message, IMessageProvider.ERROR, new HyperlinkAdapter() { |
1100 |
getTaskEditor().setMessage(message, IMessageProvider.ERROR, new HyperlinkAdapter() { |
| 1101 |
@Override |
1101 |
@Override |
| 1102 |
public void linkActivated(HyperlinkEvent e) { |
1102 |
public void linkActivated(HyperlinkEvent e) { |
| 1103 |
TasksUiInternal.displayStatus( |
1103 |
TasksUiInternal.displayStatus(Messages.AbstractTaskEditorPage_Submit_failed, status); |
| 1104 |
Messages.AbstractTaskEditorPage_Submit_failed, status); |
|
|
| 1105 |
} |
1104 |
} |
| 1106 |
}); |
1105 |
}); |
| 1107 |
} |
1106 |
} |
|
Lines 1139-1146
Link Here
|
| 1139 |
|
1138 |
|
| 1140 |
} catch (final CoreException e) { |
1139 |
} catch (final CoreException e) { |
| 1141 |
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Error opening task", e)); //$NON-NLS-1$ |
1140 |
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Error opening task", e)); //$NON-NLS-1$ |
| 1142 |
getTaskEditor().setStatus( |
1141 |
getTaskEditor().setStatus(Messages.AbstractTaskEditorPage_Error_opening_task, |
| 1143 |
Messages.AbstractTaskEditorPage_Error_opening_task, Messages.AbstractTaskEditorPage_Open_failed, e.getStatus()); |
1142 |
Messages.AbstractTaskEditorPage_Open_failed, e.getStatus()); |
| 1144 |
} |
1143 |
} |
| 1145 |
} |
1144 |
} |
| 1146 |
|
1145 |
|
|
Lines 1272-1279
Link Here
|
| 1272 |
refreshDisabled = true; |
1271 |
refreshDisabled = true; |
| 1273 |
model.refresh(null); |
1272 |
model.refresh(null); |
| 1274 |
} catch (CoreException e) { |
1273 |
} catch (CoreException e) { |
| 1275 |
getTaskEditor().setMessage( |
1274 |
getTaskEditor().setMessage(Messages.AbstractTaskEditorPage_Failed_to_read_task_data_ + e.getMessage(), |
| 1276 |
Messages.AbstractTaskEditorPage_Failed_to_read_task_data_ + e.getMessage(), IMessageProvider.ERROR); |
1275 |
IMessageProvider.ERROR); |
| 1277 |
taskData = null; |
1276 |
taskData = null; |
| 1278 |
return; |
1277 |
return; |
| 1279 |
} finally { |
1278 |
} finally { |
|
Lines 1417-1425
Link Here
|
| 1417 |
|
1416 |
|
| 1418 |
private void updateHeaderMessage() { |
1417 |
private void updateHeaderMessage() { |
| 1419 |
if (taskData == null) { |
1418 |
if (taskData == null) { |
| 1420 |
getTaskEditor().setMessage( |
1419 |
getTaskEditor().setMessage(Messages.AbstractTaskEditorPage_Synchronize_to_retrieve_task_data, |
| 1421 |
Messages.AbstractTaskEditorPage_Synchronize_to_retrieve_task_data, IMessageProvider.WARNING, |
1420 |
IMessageProvider.WARNING, new HyperlinkAdapter() { |
| 1422 |
new HyperlinkAdapter() { |
|
|
| 1423 |
@Override |
1421 |
@Override |
| 1424 |
public void linkActivated(HyperlinkEvent e) { |
1422 |
public void linkActivated(HyperlinkEvent e) { |
| 1425 |
if (synchronizeEditorAction != null) { |
1423 |
if (synchronizeEditorAction != null) { |
|
Lines 1430-1433
Link Here
|
| 1430 |
} |
1428 |
} |
| 1431 |
} |
1429 |
} |
| 1432 |
|
1430 |
|
|
|
1431 |
/** |
| 1432 |
* @since 3.1 |
| 1433 |
*/ |
| 1434 |
public void addToAttributeEditorMap(TaskAttribute attribute, AbstractAttributeEditor editor) { |
| 1435 |
if (attributeEditorMap.containsKey(attribute)) { |
| 1436 |
attributeEditorMap.remove(attribute); |
| 1437 |
} |
| 1438 |
attributeEditorMap.put(attribute, editor); |
| 1439 |
} |
| 1440 |
|
| 1441 |
/** |
| 1442 |
* @since 3.1 |
| 1443 |
*/ |
| 1444 |
public AbstractAttributeEditor getEditorForAttribute(TaskAttribute attribute) { |
| 1445 |
return attributeEditorMap.get(attribute); |
| 1446 |
} |
| 1447 |
|
| 1448 |
/** |
| 1449 |
* @since 3.1 |
| 1450 |
*/ |
| 1451 |
public Map<TaskAttribute, AbstractAttributeEditor> getAttributeEditorMap() { |
| 1452 |
return attributeEditorMap; |
| 1453 |
} |
| 1454 |
|
| 1455 |
/** |
| 1456 |
* @since 3.1 |
| 1457 |
*/ |
| 1458 |
public void refresh() { |
| 1459 |
try { |
| 1460 |
showEditorBusy(true); |
| 1461 |
for (AbstractAttributeEditor abstractAttributeEditor : attributeEditorMap.values()) { |
| 1462 |
abstractAttributeEditor.refresh(); |
| 1463 |
} |
| 1464 |
} finally { |
| 1465 |
showEditorBusy(false); |
| 1466 |
} |
| 1467 |
} |
| 1433 |
} |
1468 |
} |