Project

General

Profile

Download (3.98 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy 
4
* http://www.e-taxonomy.eu
5
* 
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
package eu.etaxonomy.taxeditor.propertysheet;
11

    
12
import java.util.ArrayList;
13
import java.util.List;
14

    
15
import org.apache.log4j.Logger;
16
import org.eclipse.jface.text.ITextViewer;
17
import org.eclipse.jface.text.contentassist.CompletionProposal;
18
import org.eclipse.jface.text.contentassist.ICompletionProposal;
19
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
20
import org.eclipse.jface.text.contentassist.IContextInformation;
21
import org.eclipse.jface.text.contentassist.IContextInformationValidator;
22

    
23
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
24

    
25
/**
26
 * FIXME This looks very incomplete
27
 * 
28
 * @author p.ciardelli
29
 * @created 19.05.2008
30
 * @version 1.0
31
 */
32
public class CompletionProcessor implements IContentAssistProcessor {
33
	private static final Logger logger = Logger
34
			.getLogger(CompletionProcessor.class);
35

    
36
	/* (non-Javadoc)
37
	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(org.eclipse.jface.text.ITextViewer, int)
38
	 */
39
	public ICompletionProposal[] computeCompletionProposals(
40
			ITextViewer viewer, int documentOffset) {
41
		String context = "Describe formatting / parsing of this rel. type.";
42
//			Image img = ResourceManager.getPluginImage(Activator.getDefault(), "icons/unknown.gif");
43
//		ICompletionProposal[] result =
44
//			new ICompletionProposal[myProposals.length];
45
//		for (int i = 0; i < myProposals.length; i++) {
46
//		      IContextInformation contextInfo = 
47
//			         new ContextInformation(null, myProposals[i]+" Style");
48
//			result[i] = new CompletionProposal(myProposals[i],documentOffset, 0, 
49
//					myProposals[i].length(), ResourceManager.getPluginImage(Activator.getDefault(), myIcons[i]), 
50
//					myProposals[i], contextInfo, context);
51
//
52
//		}
53
//		return result;
54
		String searchText = viewer.getTextWidget().getText() + "%";
55
//		List<TaxonNameBase> names = CdmUtil.getNameByName(searchText);
56
		List<TaxonNameBase> names = null;
57
		logger.warn(names.size() + " names");
58
		List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>();
59
//		String[] test = new String[] {"suggestion 1", "suggestion 2", "suggestion 3"};
60
		for (TaxonNameBase name : names) {
61
			String proposalText = name.getTitleCache();
62
//		for (String proposalText : test) {
63
			proposals.add(new CompletionProposal(proposalText,
64
					0,
65
					searchText.length(),
66
					proposalText.length(),
67
					null,
68
					proposalText,
69
					null,
70
					null
71
					));
72
		}		
73
		logger.warn(proposals.size() + " proposals.");
74
		return proposals.toArray(new ICompletionProposal[proposals.size()]);
75
	}
76

    
77
	/* (non-Javadoc)
78
	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer, int)
79
	 */
80
	public IContextInformation[] computeContextInformation(ITextViewer viewer,
81
			int offset) {
82
		return null;
83
	}
84

    
85
	/* (non-Javadoc)
86
	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
87
	 */
88
	public char[] getCompletionProposalAutoActivationCharacters() {
89
		return new char[] {'a','b','c','d','e','f','g','H'};
90
	}
91

    
92
	/* (non-Javadoc)
93
	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationAutoActivationCharacters()
94
	 */
95
	public char[] getContextInformationAutoActivationCharacters() {
96
		return null;
97
	}
98

    
99
	/* (non-Javadoc)
100
	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationValidator()
101
	 */
102
	public IContextInformationValidator getContextInformationValidator() {
103
		return null;
104
	}
105

    
106
	/* (non-Javadoc)
107
	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
108
	 */
109
	public String getErrorMessage() {
110
		return null;
111
	}
112
}
(8-8/24)