/******************************************************************************* * Copyright (c) 2008 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.smooks.configuration.editors.utils; import org.eclipse.jface.fieldassist.IContentProposal; /** * @author Dart (dpeng@redhat.com) * */ public class BindingsContextContentProposal implements IContentProposal { private int startIndex = 0; private String content = null; public static final int BINDINGS = 1; public static final int PROPERTIES = 2; public static final int WIRTINGS = 3; public static final int EXPRESSIONS = 4; private int type = BINDINGS; public BindingsContextContentProposal(int type , String content,int startIndex){ this.startIndex = startIndex; this.content = content; this.type = type; } /** * @return the type */ public int getType() { return type; } /** * @param type the type to set */ public void setType(int type) { this.type = type; } /* (non-Javadoc) * @see org.eclipse.jface.fieldassist.IContentProposal#getContent() */ public String getContent() { // TODO Auto-generated method stub return content; } /* (non-Javadoc) * @see org.eclipse.jface.fieldassist.IContentProposal#getCursorPosition() */ public int getCursorPosition() { if(content != null){ return getContent().length() + startIndex ; } return startIndex; } /* (non-Javadoc) * @see org.eclipse.jface.fieldassist.IContentProposal#getDescription() */ public String getDescription() { // TODO Auto-generated method stub return null; } /* (non-Javadoc) * @see org.eclipse.jface.fieldassist.IContentProposal#getLabel() */ public String getLabel() { String name = ""; //$NON-NLS-1$ if(type == BINDINGS){ name = "Bean"; //$NON-NLS-1$ } if(type == PROPERTIES){ name = "Value Binding"; //$NON-NLS-1$ } if(type == WIRTINGS){ name = "Bean Binding"; //$NON-NLS-1$ } if(type == EXPRESSIONS){ name = "Expression Binding"; //$NON-NLS-1$ } if(name.length() != 0 && content != null){ return content + " - ( " + name + " )"; //$NON-NLS-1$ //$NON-NLS-2$ } return content; } }