setPreferenceStore(HTMLPlugin.getDefault().getPreferenceStore());
setTitle(HTMLPlugin.getResourceString("HTMLEditorPreferencePage.TaskTag"));
}
protected Control createContents(Composite parent) {
TableViewerSupport support = new TableViewerSupport(model, parent){
protected void initTableViewer(TableViewer viewer) {
Table table = viewer.getTable();
TableColumn col1 = new TableColumn(table,SWT.LEFT);
col1.setText(HTMLPlugin.getResourceString("HTMLEditorPreferencePage.Tag"));
col1.setWidth(100);
TableColumn col2 = new TableColumn(table,SWT.LEFT);
col2.setText(HTMLPlugin.getResourceString("HTMLEditorPreferencePage.Priority"));
col2.setWidth(100);
}
protected Object doAdd() {
TaskTagDialog dialog = new TaskTagDialog(getShell());
if(dialog.open()==Dialog.OK){
return dialog.getTaskTag();
}
return null;
}
protected void doEdit(Object obj) {
TaskTag element = (TaskTag)obj;
TaskTagDialog dialog = new TaskTagDialog(getShell(), element);
if(dialog.open()==Dialog.OK){
TaskTag newElement = dialog.getTaskTag();
element.setTag(newElement.getTag());
element.setPriority(newElement.getPriority());
}
}
protected ITableLabelProvider createLabelProvider() {
return new ITableLabelProvider(){
public Image getColumnImage(Object element, int columnIndex){
return null;
}
public String getColumnText(Object element, int columnIndex){
switch(columnIndex){
case 0: return ((TaskTag)element).getTag();
case 1: return ((TaskTag)element).getPriorityName();
default: return element.toString();
}
}
public void addListener(ILabelProviderListener listener) {
}
public void dispose() {
}
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void removeListener(ILabelProviderListener listener) {
}
};
}
};
viewer = support.getTableViewer();
model.addAll(TaskTag.loadFromPreference(false));
syncModels();
viewer.refresh();
return support.getControl();
}