| Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/correction/proposals/SourceBuilder.java
|
| diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/correction/proposals/SourceBuilder.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/correction/proposals/SourceBuilder.java
|
| index f613ebe917a3c05c2907ca7bf336b7dc94c544a8..6c2e3fc4c28635f02680e93e442c549a30ac9112 100644
|
| --- a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/correction/proposals/SourceBuilder.java
|
| +++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/correction/proposals/SourceBuilder.java
|
| @@ -19,6 +19,7 @@ import com.google.dart.tools.core.dom.rewrite.TrackedNodePosition;
|
| import com.google.dart.tools.core.model.SourceRange;
|
|
|
| import org.eclipse.core.runtime.Assert;
|
| +import org.eclipse.swt.graphics.Image;
|
|
|
| import java.util.List;
|
| import java.util.Map;
|
| @@ -30,6 +31,7 @@ public class SourceBuilder {
|
| private final int base;
|
| private final StringBuilder buffer = new StringBuilder();
|
| private final Map<String, List<TrackedNodePosition>> trackedPositions = Maps.newHashMap();
|
| + private final Map<String, List<TrackedNodeProposal>> trackedProposals = Maps.newHashMap();
|
| private String currentPositionGroupId;
|
| private int currentPositionStart;
|
|
|
| @@ -41,6 +43,15 @@ public class SourceBuilder {
|
| this(base.getOffset());
|
| }
|
|
|
| + public void addProposal(Image icon, String text) {
|
| + List<TrackedNodeProposal> proposals = trackedProposals.get(currentPositionGroupId);
|
| + if (proposals == null) {
|
| + proposals = Lists.newArrayList();
|
| + trackedProposals.put(currentPositionGroupId, proposals);
|
| + }
|
| + proposals.add(new TrackedNodeProposal(icon, text));
|
| + }
|
| +
|
| public SourceBuilder append(CharSequence s) {
|
| buffer.append(s);
|
| return this;
|
| @@ -56,6 +67,18 @@ public class SourceBuilder {
|
| return trackedPositions;
|
| }
|
|
|
| + public Map<String, List<TrackedNodeProposal>> getTrackedProposals() {
|
| + return trackedProposals;
|
| + }
|
| +
|
| + public void setProposals(String[] proposals) {
|
| + List<TrackedNodeProposal> proposalList = Lists.newArrayList();
|
| + for (String proposalText : proposals) {
|
| + proposalList.add(new TrackedNodeProposal(null, proposalText));
|
| + }
|
| + trackedProposals.put(currentPositionGroupId, proposalList);
|
| + }
|
| +
|
| public void startPosition(String groupId) {
|
| Assert.isTrue(currentPositionGroupId == null);
|
| currentPositionGroupId = groupId;
|
|
|