org.robotframework.ide.eclipse.main.plugin.assist.BaseAssistProposal.java Source code

Java tutorial

Introduction

Here is the source code for org.robotframework.ide.eclipse.main.plugin.assist.BaseAssistProposal.java

Source

/*
 * Copyright 2016 Nokia Solutions and Networks
 * Licensed under the Apache License, Version 2.0,
 * see license.txt file for details.
 */
package org.robotframework.ide.eclipse.main.plugin.assist;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.StyledString;
import org.eclipse.jface.viewers.Stylers;

import com.google.common.collect.Range;

abstract class BaseAssistProposal implements AssistProposal {

    protected final ProposalMatch match;

    protected String content;

    public BaseAssistProposal(final String content, final ProposalMatch match) {
        this.match = match;
        this.content = content;
    }

    @Override
    public String getContent() {
        return content;
    }

    @Override
    public List<String> getArguments() {
        return new ArrayList<>();
    }

    @Override
    public ImageDescriptor getImage() {
        return null;
    }

    @Override
    public String getLabel() {
        return content;
    }

    @Override
    public StyledString getStyledLabel() {
        final StyledString label = new StyledString(getLabel());
        for (final Range<Integer> matchingRange : match) {
            final int length = Math.min(matchingRange.upperEndpoint() - matchingRange.lowerEndpoint(),
                    label.length() - matchingRange.lowerEndpoint());
            label.setStyle(matchingRange.lowerEndpoint(), length, Stylers.Common.MARKED_PREFIX_STYLER);
        }
        return label;
    }

    @Override
    public boolean hasDescription() {
        return false;
    }

    @Override
    public String getDescription() {
        return "";
    }
}