/* * Copyright (c) 2012 Sam Harwell, Tunnel Vision Laboratories LLC * All rights reserved. * * The source code of this document is proprietary work, and is not licensed for * distribution. For information about licensing, contact Sam Harwell at: * sam@tunnelvisionlabs.com */ package org.tvl.goworks.editor.go.completion; import javax.swing.ImageIcon; import org.netbeans.api.annotations.common.NonNull; import org.openide.util.ImageUtilities; import org.openide.util.Parameters; /** * * @author Sam Harwell */ public class PackageReferenceCompletionItem extends GoCompletionItem { private static ImageIcon ICON; private final String packageNameOrAlias; private String leftText; public PackageReferenceCompletionItem(@NonNull String packageNameOrAlias) { Parameters.notNull("packageNameOrAlias", packageNameOrAlias); this.packageNameOrAlias = packageNameOrAlias; } @Override public int getSortPriority() { return PACKAGE_SORT_PRIORITY; } @Override public String getSortTextImpl() { return packageNameOrAlias; } @Override public CharSequence getInsertPrefix() { return packageNameOrAlias; } @Override public String getToolTipText() { return "package " + packageNameOrAlias; } @Override protected ImageIcon getIcon() { if (ICON == null) { ICON = new ImageIcon(ImageUtilities.loadImage("org/tvl/goworks/editor/go/resources/package.png")); } return ICON; } @Override protected String getLeftHtmlText() { if (leftText == null) { StringBuilder builder = new StringBuilder(); builder.append(PACKAGE_COLOR); builder.append(packageNameOrAlias); builder.append(COLOR_END); leftText = builder.toString(); } return leftText; } }