public void setXMLLoadFilter(Shell shell, IDocumentDescriptor documentDescriptor) {
ListDialog docTypeListDialog = new ListDialog(shell);
docTypeListDialog.setMessage(Messages.OfficeEditorAdvisor_dialog_message_doc_type);
docTypeListDialog.setTitle(Messages.OfficeEditorAdvisor_dialog_title_doc_type);
docTypeListDialog.setInitialSelections(new Object[]{XML_DOC_TYPES[0]});
docTypeListDialog.setContentProvider(new IStructuredContentProvider(){
public Object[] getElements(Object inputElement) {
return (String[])inputElement;
}
public void dispose() {
//nothing to do
}
public void inputChanged(Viewer viewer, Object oldInput,
Object newInput) {
//nothing to do
}
});
docTypeListDialog.setLabelProvider(new LabelProvider());
docTypeListDialog.setInput(XML_DOC_TYPES);
if(docTypeListDialog.open() == Window.OK) {
Object[] resultDocType = docTypeListDialog.getResult();
if(resultDocType.length == 1) {
final String docType = (String)resultDocType[0];
ListDialog listFilterDialog = new ListDialog(shell);
listFilterDialog.setMessage(Messages.OfficeEditorAdvisor_dialog_message_file_type);
listFilterDialog.setTitle(Messages.OfficeEditorAdvisor_dialog_title_file_type);
IFilter[] filtersToUse = XML_FILTERS_WRITER;
if(docType.equals(IDocument.CALC)) {
filtersToUse = XML_FILTERS_CALC;
}
listFilterDialog.setInitialSelections(new Object[]{filtersToUse[0]});
listFilterDialog.setContentProvider(new IStructuredContentProvider(){
public Object[] getElements(Object inputElement) {
return (IFilter[])inputElement;
}
public void dispose() {
//nothing to do