Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(209)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/correction/proposals/SourceBuilder.java

Issue 10828389: Enhance 'Create Method' Quick Fix. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698