Merge remote-tracking branch 'origin/master'

This commit is contained in:
Ekaterina Tuzova
2014-08-18 20:29:02 +04:00
7 changed files with 1360 additions and 21 deletions
@@ -47,8 +47,15 @@ public class ShowReferringObjectsAction extends XDebuggerTreeActionBase {
@Override
protected void perform(XValueNodeImpl node, @NotNull String nodeName, AnActionEvent e) {
if (node.getValueContainer() instanceof JavaValue) {
JavaValue javaValue = ((JavaValue)node.getValueContainer());
XValue container = node.getValueContainer();
JavaValue javaValue = null;
if (container instanceof ReferringObjectsValue) {
javaValue = ((ReferringObjectsValue)container).myJavaValue;
}
else if (container instanceof JavaValue) {
javaValue = ((JavaValue)container);
}
if (javaValue != null) {
XDebuggerTree tree = XDebuggerTree.getTree(e.getDataContext());
XInspectDialog dialog = new XInspectDialog(tree.getProject(),
tree.getEditorsProvider(),
@@ -200,19 +200,18 @@ public class PushController implements Disposable {
OutgoingResult outgoing = result.get();
List<VcsError> errors = outgoing.getErrors();
if (!errors.isEmpty()) {
final CommitLoader loader = new CommitLoader() {
@Override
public void reloadCommits() {
loadCommits(model, node, false);
}
};
myPushLog.setChildren(node, ContainerUtil.map(errors, new Function<VcsError, DefaultMutableTreeNode>() {
@Override
public DefaultMutableTreeNode fun(final VcsError error) {
VcsLinkedText errorLinkText = new VcsLinkedText(error.getText(), new VcsLinkListener() {
@Override
public void hyperlinkActivated(@NotNull DefaultMutableTreeNode sourceNode) {
error.handleError(loader);
error.handleError(new CommitLoader() {
@Override
public void reloadCommits() {
loadCommits(model, node, false);
}
});
}
});
return new TextWithLinkNode(errorLinkText);
@@ -18,6 +18,7 @@ package com.intellij.openapi.editor;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
@@ -27,5 +28,5 @@ import java.util.Collection;
public abstract class EditorLinePainter {
public static final ExtensionPointName<EditorLinePainter> EP_NAME = ExtensionPointName.create("com.intellij.editor.linePainter");
public abstract Collection<LineExtensionInfo> getLineExtensions(Project project, VirtualFile file, int lineNumber);
public abstract Collection<LineExtensionInfo> getLineExtensions(@NotNull Project project, @NotNull VirtualFile file, int lineNumber);
}
@@ -2767,16 +2767,19 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
if (collapsedFolderAt == null) {
int i = drawStringWithSoftWraps(g, chars, start, lEnd - lIterator.getSeparatorLength(), position, clip, effectColor,
effectType, fontType, currentColor, logicalPosition);
for (EditorLinePainter painter : EditorLinePainter.EP_NAME.getExtensions()) {
Collection<LineExtensionInfo> extensions = painter.getLineExtensions(myProject, getVirtualFile(), lIterator.getLineNumber());
if (extensions != null && !extensions.isEmpty()) {
for (LineExtensionInfo info : extensions) {
drawStringWithSoftWraps(g, info.getText(), 0, info.getText().length(), position, clip,
info.getEffectColor() == null ? effectColor : info.getEffectColor(),
info.getEffectType() == null ? effectType : info.getEffectType(),
info.getFontType(),
info.getColor() == null ? currentColor : info.getColor(),
logicalPosition);
final VirtualFile file = getVirtualFile();
if (myProject != null && file != null && !isOneLineMode()) {
for (EditorLinePainter painter : EditorLinePainter.EP_NAME.getExtensions()) {
Collection<LineExtensionInfo> extensions = painter.getLineExtensions(myProject, file, lIterator.getLineNumber());
if (extensions != null && !extensions.isEmpty()) {
for (LineExtensionInfo info : extensions) {
drawStringWithSoftWraps(g, info.getText(), 0, info.getText().length(), position, clip,
info.getEffectColor() == null ? effectColor : info.getEffectColor(),
info.getEffectType() == null ? effectType : info.getEffectType(),
info.getFontType(),
info.getColor() == null ? currentColor : info.getColor(),
logicalPosition);
}
}
}
}
@@ -27,6 +27,7 @@ import com.intellij.xdebugger.frame.presentation.XValuePresentation;
import com.intellij.xdebugger.impl.frame.XVariablesView;
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl;
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueTextRendererImpl;
import org.jetbrains.annotations.NotNull;
import java.awt.*;
import java.util.ArrayList;
@@ -39,7 +40,7 @@ import java.util.Set;
*/
public class XDebuggerEditorLinePainter extends EditorLinePainter {
@Override
public Collection<LineExtensionInfo> getLineExtensions(Project project, VirtualFile file, int lineNumber) {
public Collection<LineExtensionInfo> getLineExtensions(@NotNull Project project, @NotNull VirtualFile file, int lineNumber) {
if (!Registry.is("ide.debugger.inline")) {
return null;
}
+100
View File
@@ -0,0 +1,100 @@
[Settings]
NumFields=6
[Field 1]
Type=checkbox
Left=5
Right=100
Top=10
Bottom=20
State=0
[Field 2]
Type=checkbox
Left=120
Right=-1
Top=10
Bottom=20
State=0
[Field 3]
Type=GroupBox
Left=1
Right=-1
Top=35
Bottom=65
Text=Choice Python version
[Field 4]
Type=RadioButton
Left=5
Right=45
Top=50
Bottom=60
State=1
Text=Python 2
[Field 5]
Type=RadioButton
Left=95
Right=135
Top=50
Bottom=60
State=0
Text=Python 3
[Field 6]
Type=GroupBox
Left=1
Right=-1
Top=75
Bottom=105
Text=Create Associations
[Field 7]
Type=checkbox
Left=5
Right=45
Top=90
Bottom=100
State=0
[Field 8]
Type=checkbox
Left=50
Right=90
Top=90
Bottom=100
State=0
[Field 9]
Type=checkbox
Left=95
Right=135
Top=90
Bottom=100
State=0
[Field 10]
Type=checkbox
Left=140
Right=180
Top=90
Bottom=100
State=0
[Field 11]
Type=checkbox
Left=185
Right=225
Top=90
Bottom=100
State=0
[Field 12]
Type=checkbox
Left=230
Right=270
Top=90
Bottom=100
State=0
File diff suppressed because it is too large Load Diff