Package tk.eclipse.plugin.htmleditor.assist

Source Code of tk.eclipse.plugin.htmleditor.assist.FieldAssistUtils$ContentProposalImpl

package tk.eclipse.plugin.htmleditor.assist;

import java.util.HashMap;

import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jdt.core.IBuffer;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jface.fieldassist.IContentProposal;
import org.eclipse.swt.layout.GridLayout;

/**
* Provides utility methods about the field assist.
*
* @author Naoki Takezoe
*/
public class FieldAssistUtils {
 
  private static HashMap<IJavaProject, ICompilationUnit> unitMap = new HashMap<IJavaProject, ICompilationUnit>();
 
  /**
   * Set contents of the compilation unit to the translated jsp text.
   *
   * @param unit the ICompilationUnit on which to set the buffer contents
   * @param value Java source code
   */ 
  public static void setContentsToCU(ICompilationUnit unit, String value){
    if (unit == null)
      return;

    synchronized (unit) {
      IBuffer buffer;
      try {

        buffer = unit.getBuffer();
      }
      catch (JavaModelException e) {
        e.printStackTrace();
        buffer = null;
      }

      if (buffer != null)
        buffer.setContents(value);
    }
  }
 
  /**
   * Creates the <code>ICompilationUnit</code> to use temporary.
   *
   * @param project the java project
   * @return the temporary <code>ICompilationUnit</code>
   * @throws JavaModelException
   */
  public synchronized static ICompilationUnit getTemporaryCompilationUnit(
      IJavaProject project) throws JavaModelException {
   
    if(unitMap.get(project) != null){
      return unitMap.get(project);
    }
   
    IPackageFragment root = project.getPackageFragments()[0];
    ICompilationUnit unit = root.getCompilationUnit("_xxx.java").getWorkingCopy(
        new NullProgressMonitor());
   
    unitMap.put(project, unit);
   
    return unit;
  }
 
  public static class ContentProposalImpl implements IContentProposal {
   
    private String content;
    private int position;
   
    public ContentProposalImpl(String content, int position){
      this.content = content;
      this.position = position;
    }
   
    public String getContent() {
      return content.substring(position);
    }

    public int getCursorPosition() {
      return content.length() - position;
    }

    public String getDescription() {
      return null;
    }

    public String getLabel() {
      return content;
    }
  }
 
//  /**
//   * Creates the <code>Composite</code> for the fields which don't need decoration.
//   *
//   * @param parent the parent composite
//   * @param white whether it should paint out the background
//   * @return the created <code>Composite</code> object
//   */
//  public static Composite createNullDecoratedPanel(Composite parent, boolean white){
//    Composite composite = new Composite(parent, SWT.NULL);
//    GridLayout layout = createNoMarginGridLayout();
//    layout.horizontalSpacing = 0;
//    layout.verticalSpacing = 0;
//    composite.setLayout(layout);
//    if(white){
//      composite.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
//    }
//    Label space = new Label(composite, SWT.NULL);
//    GridData gd = new GridData();
//    gd.widthHint = 5;
//    space.setLayoutData(gd);
//    if(white){
//      space.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
//    }
//    return composite;
//  }
 
  /**
   * Creates <code>GridLayout</code> that has no margin.
   *
   * @return created <code>GridLayout</code> that has no margin
   */
  public static GridLayout createNoMarginGridLayout(){
    GridLayout layout = new GridLayout(2, false);
    layout.marginBottom = 0;
    layout.marginTop = 0;
    layout.marginLeft = 0;
    layout.marginRight = 0;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    return layout;
 
 
}
TOP

Related Classes of tk.eclipse.plugin.htmleditor.assist.FieldAssistUtils$ContentProposalImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.