public TodoTaskConfigurationBlock( IStatusChangeListener context, IProject project, IWorkbenchPreferenceContainer container) { super(context, project, ALL_KEYS, container); TaskTagAdapter adapter = new TaskTagAdapter(); String[] buttons = new String[] { PreferencesMessages.TodoTaskConfigurationBlock_markers_tasks_add_button, PreferencesMessages.TodoTaskConfigurationBlock_markers_tasks_edit_button, PreferencesMessages.TodoTaskConfigurationBlock_markers_tasks_remove_button, null, PreferencesMessages.TodoTaskConfigurationBlock_markers_tasks_setdefault_button, }; fTodoTasksList = new ListDialogField<TodoTask>(adapter, buttons, new TodoTaskLabelProvider()); fTodoTasksList.setDialogFieldListener(adapter); fTodoTasksList.setRemoveButtonIndex(IDX_REMOVE); String[] columnsHeaders = new String[] { PreferencesMessages.TodoTaskConfigurationBlock_markers_tasks_name_column, PreferencesMessages.TodoTaskConfigurationBlock_markers_tasks_priority_column, }; fTodoTasksList.setTableColumns(new ListDialogField.ColumnsDescription(columnsHeaders, true)); fTodoTasksList.setViewerComparator(new TodoTaskSorter()); fCaseSensitiveCheckBox = new SelectionButtonDialogField(SWT.CHECK); fCaseSensitiveCheckBox.setLabelText( PreferencesMessages.TodoTaskConfigurationBlock_casesensitive_label); fCaseSensitiveCheckBox.setDialogFieldListener(adapter); unpackTodoTasks(); if (fTodoTasksList.getSize() > 0) { fTodoTasksList.selectFirstElement(); } else { fTodoTasksList.enableButton(IDX_EDIT, false); fTodoTasksList.enableButton(IDX_DEFAULT, false); } fTaskTagsStatus = new StatusInfo(); }