Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Karlaš <david.karlas@xamarin.com>2014-11-25 17:15:16 +0300
committerDavid Karlaš <david.karlas@xamarin.com>2014-11-25 17:15:16 +0300
commitef7ecbd3a80bbdeb00ee53ed974b494faeb31ce4 (patch)
tree63cbb1a67d89b272bbeb2056c297a111acb949ca /main/src/addins/MonoDevelop.Debugger
parent6c1089034738400830e7385d81f2400f85ac0e95 (diff)
[DebuggerVisualizers] Disabled preview on strings that are not ellipsized and improved PreviewWindow UI(padding, colors, font size..)
Diffstat (limited to 'main/src/addins/MonoDevelop.Debugger')
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/GenericPreviewVisualizer.cs4
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewVisualizerWindow.cs24
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs11
3 files changed, 28 insertions, 11 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/GenericPreviewVisualizer.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/GenericPreviewVisualizer.cs
index 705e4d6655..ad0c2d609a 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/GenericPreviewVisualizer.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/GenericPreviewVisualizer.cs
@@ -49,7 +49,7 @@ namespace MonoDevelop.Debugger.PreviewVisualizers
if (label.SizeRequest ().Width > 500) {
label.WidthRequest = 500;
label.Wrap = true;
- label.LineWrapMode = Pango.WrapMode.Word;
+ label.LineWrapMode = Pango.WrapMode.WordChar;
} else {
label.Justify = Gtk.Justification.Center;
}
@@ -57,7 +57,7 @@ namespace MonoDevelop.Debugger.PreviewVisualizers
label.Justify = Gtk.Justification.Left;
var line15 = label.Layout.GetLine (15);
if (line15 != null) {
- label.Text = value.Substring (0, line15.StartIndex).TrimEnd ('\r', '\n') + "\n...";
+ label.Text = value.Substring (0, line15.StartIndex).TrimEnd ('\r', '\n') + "\n…";
}
}
label.Show ();
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewVisualizerWindow.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewVisualizerWindow.cs
index 4b2b90786f..652946bc4e 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewVisualizerWindow.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewVisualizerWindow.cs
@@ -44,6 +44,7 @@ namespace MonoDevelop.Debugger
public void Show (ObjectValue val, Gtk.Widget invokingWidget, Rectangle previewButtonArea)
{
Theme.SetFlatColor (new Cairo.Color (245 / 256.0, 245 / 256.0, 245 / 256.0));
+ Theme.Padding = 0;
ShowArrow = true;
var mainBox = new VBox ();
var headerTable = new Table (1, 3, false);
@@ -62,10 +63,15 @@ namespace MonoDevelop.Debugger
headerTable.Attach (hb, 0, 1, 0, 1);
var headerTitle = new Label ();
- headerTitle.UseMarkup = true;
- headerTitle.Markup = "<b>" + val.TypeName.Split ('.').LastOrDefault ().Replace ("<", "&lt;").Replace (">", "&gt;") + "</b>";
-
- headerTable.Attach (headerTitle, 1, 2, 0, 1);
+ headerTitle.ModifyFg (StateType.Normal, new Color (64, 64, 64));
+ var font = headerTitle.Style.FontDescription.Copy ();
+ font.Size = (int)(12 * Pango.Scale.PangoScale);
+ font.Weight = Pango.Weight.Bold;
+ headerTitle.ModifyFont (font);
+ headerTitle.Text = val.TypeName.Split ('.').LastOrDefault ();
+ var vbTitle = new VBox ();
+ vbTitle.PackStart (headerTitle, false, false, 3);
+ headerTable.Attach (vbTitle, 1, 2, 0, 1);
if (DebuggingService.HasValueVisualizers (val)) {
var openButton = new Button ();
@@ -76,10 +82,10 @@ namespace MonoDevelop.Debugger
DebuggingService.ShowValueVisualizer (val);
};
var hbox = new HBox ();
- hbox.PackEnd (openButton, false, false, 0);
+ hbox.PackEnd (openButton, false, false, 2);
headerTable.Attach (hbox, 2, 3, 0, 1);
} else {
- headerTable.Attach (new Label (), 2, 3, 0, 1);
+ headerTable.Attach (new Label (), 2, 3, 0, 1, AttachOptions.Fill | AttachOptions.Expand, AttachOptions.Fill | AttachOptions.Expand, 10, 0);
}
mainBox.PackStart (headerTable);
mainBox.ShowAll ();
@@ -96,7 +102,11 @@ namespace MonoDevelop.Debugger
if (widget == null) {
widget = new GenericPreviewVisualizer ().GetVisualizerWidget (val);
}
- mainBox.PackStart (widget);
+ var alignment = new Alignment (0, 0, 1, 1);
+ alignment.SetPadding (1, 3, 3, 3);
+ alignment.Show ();
+ alignment.Add (widget);
+ mainBox.PackStart (alignment);
ContentBox.Add (mainBox);
ShowPopup (invokingWidget, previewButtonArea, PopupPosition.Left);
}
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs
index 418a119523..b941e2d214 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs
@@ -1409,10 +1409,17 @@ namespace MonoDevelop.Debugger
if (obj == null) {
return false;
} else {
- if (obj.IsPrimitive && obj.TypeName != "string")
- return false;
if (obj.IsNull)
return false;
+ if (obj.IsPrimitive) {
+ if (obj.TypeName != "string") {
+ return false;
+ } else {
+ if (obj.Value.Length < DebuggingService.DebuggerSession.EvaluationOptions.EllipsizedLength + 3) {//3=2x"(qoute) and 1x "…"
+ return false;
+ }
+ }
+ }
if (string.IsNullOrEmpty (obj.TypeName))
return false;
}