package eu.jucy.gui.texteditor; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.fieldassist.IContentProposal; import org.eclipse.jface.fieldassist.IContentProposalProvider; import org.eclipse.jface.fieldassist.TextContentAdapter; public class WrittenTextContentProposal extends TextContentAdapter implements IContentProposalProvider { private final SendingWriteline line; public WrittenTextContentProposal(SendingWriteline line) { super(); this.line = line; } @Override public IContentProposal[] getProposals(String contents, int position) { List<IContentProposal> props = new ArrayList<IContentProposal>(); for (String s:line.getSentMessages()) { props.add(new StringContentProposal(s)); } return props.toArray(new IContentProposal[0]); } private static class StringContentProposal implements IContentProposal { private final String s; public StringContentProposal(String s) { super(); this.s = s; } @Override public String getContent() { return s; } @Override public int getCursorPosition() { return s.length(); } @Override public String getLabel() { if (s.length() > 80) { return s.substring(0, 77)+"..."; } return s; } @Override public String getDescription() { return null; } } }