| Newsgroups |
gmane.comp.gnome.mono.patches |
| Message-ID |
<00000141d1d44914-c7d75db9-91e1-4947-912e-f5c891c4f406-000000@email.amazonses.com> |
Branch: refs/heads/bpDialog2
Home: https://github.com/mono/monodevelop
Compare: https://github.com/mono/monodevelop/compare/b689d6fe6a29...ffd1333594f6
Commit: c94c854295a678281832431efbc5c44f479f4318
Author: Therzok <[email protected]> (Therzok)
Committer: Ungureanu Marius <[email protected]> (Therzok)
Date: 2013-10-19 17:31:13 GMT
URL: https://github.com/mono/monodevelop/commit/c94c854295a678281832431efbc5c44f479f4318
[Debugger] New Dialog.
Changed paths:
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.addin.xml
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.csproj
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPad.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
Added paths:
A main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog2.cs
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.addin.xml
===================================================================
@@ -117,10 +117,6 @@
defaultHandler = "MonoDevelop.Debugger.NewBreakpointHandler"
_label = "New Breakpoint..."
icon = "md-breakpoint-new" />
- <Command id = "MonoDevelop.Debugger.DebugCommands.NewFunctionBreakpoint"
- defaultHandler = "MonoDevelop.Debugger.NewFunctionBreakpointHandler"
- _label = "New Function Breakpoint..."
- icon = "md-breakpoint-new" />
<Command id = "MonoDevelop.Debugger.DebugCommands.RemoveBreakpoint"
defaultHandler = "MonoDevelop.Debugger.RemoveBreakpointHandler"
_label = "Remove Breakpoint" />
@@ -193,7 +189,6 @@
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.StepOut" />
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.ShowCurrentExecutionLine" />
<SeparatorItem id = "MonoDevelop.Debugger.BreakpointsSection" />
- <CommandItem id = "MonoDevelop.Debugger.DebugCommands.NewFunctionBreakpoint" />
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.NewBreakpoint" />
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.ToggleBreakpoint" />
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.AddTracepoint" />
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.csproj
===================================================================
@@ -22,8 +22,8 @@
<Execution>
<Execution clr-version="Net_2_0" />
</Execution>
- <GenerateDocumentation>true</GenerateDocumentation>
<NoWarn>1591;1573</NoWarn>
+ <DocumentationFile>..\..\..\build\AddIns\MonoDevelop.Debugger\MonoDevelop.Debugger.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -36,8 +36,8 @@
<Execution clr-version="Net_2_0" />
</Execution>
<DebugSymbols>true</DebugSymbols>
- <GenerateDocumentation>true</GenerateDocumentation>
<NoWarn>1591;1573</NoWarn>
+ <DocumentationFile>..\..\..\build\AddIns\MonoDevelop.Debugger\MonoDevelop.Debugger.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@@ -149,6 +149,7 @@
<Compile Include="MonoDevelop.Debugger\DebuggerConsoleView.cs" />
<Compile Include="MonoDevelop.Debugger.Visualizer\CStringVisualizer.cs" />
<Compile Include="MonoDevelop.Debugger.Visualizer\ValueVisualizer.cs" />
+ <Compile Include="MonoDevelop.Debugger\BreakpointPropertiesDialog2.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MonoDevelop.Debugger.addin.xml">
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPad.cs
===================================================================
@@ -204,8 +204,8 @@ protected void OnProperties ()
TreeIter iter;
if (selected.Length == 1 && store.GetIter (out iter, selected[0])) {
- Breakpoint bp = (Breakpoint) store.GetValue (iter, (int) Columns.Breakpoint);
- if (DebuggingService.ShowBreakpointProperties (bp, false))
+ BreakEvent bp = (BreakEvent) store.GetValue (iter, (int) Columns.Breakpoint);
+ if (DebuggingService.ShowBreakpointProperties (ref bp))
UpdateDisplay ();
}
}
Added: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog2.cs
===================================================================
@@ -0,0 +1,502 @@
+//
+// BreakpointsPropertiesDialog.cs
+//
+// Author:
+// Therzok <[email protected]>
+//
+// Copyright (c) 2013 Therzok
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using Mono.Debugging.Client;
+using MonoDevelop.Core;
+using MonoDevelop.Projects;
+using MonoDevelop.Ide;
+
+namespace MonoDevelop.Debugger
+{
+ enum ConditionalHitWhen {
+ ConditionIsTrue,
+ ExpressionChanges
+ }
+
+ class BreakpointPropertiesDialog2 : Xwt.Dialog
+ {
+ // For button sensitivity.
+ Xwt.DialogButton buttonOk;
+
+ // Groupings for sensitivity
+ Xwt.HBox hboxFunction = new Xwt.HBox ();
+ Xwt.HBox hboxLocation = new Xwt.HBox ();
+ Xwt.HBox hboxLineColumn = new Xwt.HBox ();
+ Xwt.HBox hboxException = new Xwt.HBox ();
+
+ // Stop-type radios.
+ readonly Xwt.RadioButton stopOnFunction = new Xwt.RadioButton (GettextCatalog.GetString ("When a function is entered"));
+ readonly Xwt.RadioButton stopOnLocation = new Xwt.RadioButton (GettextCatalog.GetString ("When a location is reached"));
+ readonly Xwt.RadioButton stopOnException = new Xwt.RadioButton (GettextCatalog.GetString ("When an exception is thrown"));
+
+ // Text entries
+ readonly Xwt.TextEntry entryFunctionName = new Xwt.TextEntry ();
+ readonly Xwt.TextEntry entryLocationFile = new Xwt.TextEntry ();
+ readonly Xwt.TextEntry entryLocationLine = new Xwt.TextEntry ();
+ readonly Xwt.TextEntry entryLocationColumn = new Xwt.TextEntry ();
+ readonly Xwt.TextEntry entryExceptionType = new Xwt.TextEntry ();
+ readonly Xwt.TextEntry entryConditionalExpression = new Xwt.TextEntry ();
+ readonly Xwt.TextEntry entryPrintExpression = new Xwt.TextEntry ();
+
+ // Warning icon
+ readonly Xwt.ImageView warningFunction = new Xwt.ImageView (Xwt.StockIcons.Warning);
+ readonly Xwt.ImageView warningLocation = new Xwt.ImageView (Xwt.StockIcons.Warning);
+ readonly Xwt.ImageView warningException = new Xwt.ImageView (Xwt.StockIcons.Warning);
+ readonly Xwt.ImageView warningCondition = new Xwt.ImageView (Xwt.StockIcons.Warning);
+
+ // Combobox + Pager
+ readonly Xwt.SpinButton ignoreHitCount = new Xwt.SpinButton ();
+ readonly Xwt.ComboBox ignoreHitType = new Xwt.ComboBox ();
+ readonly Xwt.ComboBox conditionalHitType = new Xwt.ComboBox ();
+
+ // Optional checkboxes.
+ readonly Xwt.CheckBox checkIncludeSubclass = new Xwt.CheckBox (GettextCatalog.GetString ("Include subclasses"));
+ readonly Xwt.CheckBox checkPrintExpression = new Xwt.CheckBox (GettextCatalog.GetString ("Print an expression to the debugger output"));
+ readonly Xwt.CheckBox checkResumeExecution = new Xwt.CheckBox (GettextCatalog.GetString ("Resume execution automatically"));
+
+ BreakEvent be;
+ string[] parsedParamTypes;
+ string parsedFunction;
+
+ public BreakpointPropertiesDialog2 (ref BreakEvent be)
+ {
+ this.be = be;
+
+ Initialize ();
+ SetInitialData ();
+ SetLayout ();
+ }
+
+ void Initialize ()
+ {
+ // TODO: Make dialog for exceptions.
+ Title = GettextCatalog.GetString (be == null ? "New Breakpoint" : "Breakpoint Properties");
+ var buttonLabel = GettextCatalog.GetString (be == null ? "Add breakpoint" : "Modify breakpoint");
+
+ var stopGroup = new Xwt.RadioButtonGroup ();
+ stopOnFunction.Group = stopGroup;
+ stopOnLocation.Group = stopGroup;
+ stopOnException.Group = stopGroup;
+
+ ignoreHitType.Items.Add (HitCountMode.None, GettextCatalog.GetString ("always"));
+ ignoreHitType.Items.Add (HitCountMode.LessThan, GettextCatalog.GetString ("when hit count is less than"));
+ ignoreHitType.Items.Add (HitCountMode.LessThanOrEqualTo, GettextCatalog.GetString ("when hit count is less than or equal to"));
+ ignoreHitType.Items.Add (HitCountMode.EqualTo, GettextCatalog.GetString ("when hit count is equal to"));
+ ignoreHitType.Items.Add (HitCountMode.GreaterThan, GettextCatalog.GetString ("when hit count is greater than"));
+ ignoreHitType.Items.Add (HitCountMode.GreaterThanOrEqualTo, GettextCatalog.GetString ("when hit count is greater than or equal to"));
+ ignoreHitType.Items.Add (HitCountMode.MultipleOf, GettextCatalog.GetString ("when hit count is a multiple of"));
+
+ ignoreHitCount.IncrementValue = 1;
+
+ conditionalHitType.Items.Add (ConditionalHitWhen.ConditionIsTrue, GettextCatalog.GetString ("is true"));
+ conditionalHitType.Items.Add (ConditionalHitWhen.ExpressionChanges, GettextCatalog.GetString ("expression changes"));
+
+ buttonOk = new Xwt.DialogButton (buttonLabel, Xwt.Command.Ok) {
+ Sensitive = false
+ };
+
+ // Register events.
+ stopGroup.ActiveRadioButtonChanged += OnUpdateControls;
+ entryFunctionName.Changed += OnUpdateControls;
+ entryLocationFile.Changed += OnUpdateControls;
+ entryLocationLine.Changed += OnUpdateControls;
+ entryLocationColumn.Changed += OnUpdateControls;
+
+ entryConditionalExpression.Changed += OnUpdateControls;
+ ignoreHitType.SelectionChanged += OnUpdateControls;
+ checkPrintExpression.Toggled += OnUpdateControls;
+
+ buttonOk.Clicked += OnSave;
+ }
+
+ void SetInitialFunctionBreakpointData (FunctionBreakpoint fb)
+ {
+ stopOnFunction.Active = true;
+ if (fb.ParamTypes != null) {
+ // FIXME: support non-C# syntax based on fb.Language
+ entryFunctionName.Text = fb.FunctionName + " (" + String.Join (", ", fb.ParamTypes) + ")";
+ } else
+ entryFunctionName.Text = fb.FunctionName;
+ }
+
+ void SetInitialBreakpointData (Breakpoint bp)
+ {
+ stopOnLocation.Active = true;
+ entryLocationFile.Text = bp.FileName;
+ entryLocationLine.Text = bp.Line.ToString ();
+ entryLocationColumn.Text = bp.Column.ToString ();
+
+ if (!String.IsNullOrEmpty (bp.ConditionExpression)) {
+ entryConditionalExpression.Text = bp.ConditionExpression;
+ conditionalHitType.SelectedItem = bp.BreakIfConditionChanges ? ConditionalHitWhen.ExpressionChanges : ConditionalHitWhen.ConditionIsTrue;
+ }
+
+ Project project = null;
+ if (!String.IsNullOrEmpty (bp.FileName))
+ project = IdeApp.Workspace.GetProjectContainingFile (bp.FileName);
+
+ if (project != null) {
+ // Check the startup project of the solution too, since the current project may be a library
+ SolutionEntityItem startup = project.ParentSolution.StartupItem;
+ entryConditionalExpression.Sensitive = DebuggingService.IsFeatureSupported (project, DebuggerFeatures.ConditionalBreakpoints) ||
+ DebuggingService.IsFeatureSupported (startup, DebuggerFeatures.ConditionalBreakpoints);
+
+ bool canTrace = DebuggingService.IsFeatureSupported (project, DebuggerFeatures.Tracepoints) ||
+ DebuggingService.IsFeatureSupported (startup, DebuggerFeatures.Tracepoints);
+
+ checkPrintExpression.Sensitive = canTrace;
+ entryPrintExpression.Sensitive = canTrace;
+ }
+ }
+
+ void SetInitialCatchpointData (Catchpoint cp)
+ {
+
+ }
+
+ void SetInitialData ()
+ {
+ if (be != null) {
+ stopOnException.Sensitive = false;
+ stopOnFunction.Sensitive = false;
+ stopOnLocation.Sensitive = false;
+ entryLocationFile.ReadOnly = true;
+ entryLocationLine.ReadOnly = true;
+ entryLocationColumn.ReadOnly = true;
+
+ ignoreHitType.SelectedItem = be.HitCountMode;
+ ignoreHitCount.Value = be.HitCount;
+
+ if (be.HitAction == HitAction.PrintExpression) {
+ checkPrintExpression.Active = true;
+ entryPrintExpression.Text = be.TraceExpression;
+ }
+ } else {
+ if (IdeApp.Workbench.ActiveDocument != null) {
+ entryLocationFile.Text = IdeApp.Workbench.ActiveDocument.FileName;
+ entryLocationLine.Text = IdeApp.Workbench.ActiveDocument.Editor.Caret.Line.ToString ();
+ entryLocationColumn.Text = IdeApp.Workbench.ActiveDocument.Editor.Caret.Column.ToString ();
+ }
+
+ ignoreHitType.SelectedItem = HitCountMode.None;
+ conditionalHitType.SelectedItem = ConditionalHitWhen.ConditionIsTrue;
+ }
+
+ var fb = be as FunctionBreakpoint;
+ if (fb != null)
+ SetInitialFunctionBreakpointData (fb);
+
+ var bp = be as Breakpoint;
+ if (bp != null)
+ SetInitialBreakpointData (bp);
+
+ var cp = be as Catchpoint;
+ if (cp != null)
+ SetInitialCatchpointData (cp);
+ }
+
+ void SaveFunctionBreakpoint (FunctionBreakpoint fb, bool isNew)
+ {
+ if (isNew) {
+ fb.FunctionName = parsedFunction;
+ fb.ParamTypes = parsedParamTypes;
+ }
+ }
+
+ void SaveBreakpoint (Breakpoint bp, bool isNew)
+ {
+ if (isNew) {
+ bp.SetColumn (Int32.Parse (entryLocationColumn.Text));
+ bp.SetLine (Int32.Parse (entryLocationLine.Text));
+ }
+
+ if (!String.IsNullOrEmpty (entryConditionalExpression.Text)) {
+ bp.ConditionExpression = entryConditionalExpression.Text;
+ bp.BreakIfConditionChanges = conditionalHitType.SelectedItem.Equals (ConditionalHitWhen.ExpressionChanges);
+ } else
+ bp.ConditionExpression = null;
+ }
+
+ void SaveCatchpoint (Catchpoint cp, bool isNew)
+ {
+
+ }
+
+ void OnSave (object sender, EventArgs e)
+ {
+ bool isNew = false;
+ if (be == null) {
+ isNew = true;
+
+ if (stopOnFunction.Active)
+ be = new FunctionBreakpoint ("", "C#");
+ else if (stopOnLocation.Active)
+ be = new Breakpoint (entryLocationFile.Text, Int32.Parse (entryLocationLine.Text), Int32.Parse (entryLocationColumn.Text));
+ else if (stopOnException.Active)
+ be = new Catchpoint (entryExceptionType.Text);
+ else
+ return;
+ }
+
+ var fb = be as FunctionBreakpoint;
+ if (fb != null)
+ SaveFunctionBreakpoint (fb, isNew);
+
+ var bp = be as Breakpoint;
+ if (bp != null)
+ SaveBreakpoint (bp, isNew);
+
+ var cp = be as Catchpoint;
+ if (cp != null)
+ SaveCatchpoint (cp, isNew);
+
+ be.HitCountMode = (HitCountMode)ignoreHitType.SelectedItem;
+ be.HitCount = be.HitCountMode != HitCountMode.None ? (int)ignoreHitCount.Value : 0;
+
+ if (checkPrintExpression.Active) {
+ // FIXME: Make HitAction flags.
+ be.HitAction = HitAction.PrintExpression;
+ be.TraceExpression = entryPrintExpression.Text;
+ }
+ be.HitAction = HitAction.Break;
+
+ be.CommitChanges ();
+ }
+
+ void OnUpdateControls (object sender, EventArgs e)
+ {
+ // Check which radio is selected.
+ hboxFunction.Sensitive = stopOnFunction.Active;
+ hboxLineColumn.Sensitive = stopOnLocation.Active;
+ hboxLocation.Sensitive = stopOnLocation.Active;
+ hboxException.Sensitive = stopOnException.Active;
+ checkIncludeSubclass.Sensitive = stopOnException.Active;
+
+ // Check conditional
+ if (!String.IsNullOrEmpty (entryConditionalExpression.Text))
+ conditionalHitType.Show ();
+ else
+ conditionalHitType.Hide ();
+
+ // Check ignoring hit counts.
+ if (ignoreHitType.SelectedItem.Equals (HitCountMode.None))
+ ignoreHitCount.Hide ();
+ else
+ ignoreHitCount.Show ();
+
+ // Check printing an expression.
+ entryPrintExpression.Sensitive = checkPrintExpression.Active;
+ checkResumeExecution.Sensitive = checkPrintExpression.Active;
+
+ // And display warning icons
+ buttonOk.Sensitive = CheckValidity ();
+ }
+
+ bool CheckValidity ()
+ {
+ if (be is FunctionBreakpoint) {
+ string text = entryFunctionName.Text.Trim ();
+
+ if (stopOnFunction.Active) {
+ if (text.Length == 0) {
+ warningFunction.Show ();
+ warningFunction.TooltipText = GettextCatalog.GetString ("Function name not specified");
+ return false;
+ }
+
+ if (!TryParseFunction (text, out parsedFunction, out parsedParamTypes)) {
+ warningFunction.Show ();
+ warningFunction.TooltipText = GettextCatalog.GetString ("Invalid function syntax");
+ return false;
+ }
+ }
+ } else if (be is Breakpoint) {
+ if (!System.IO.File.Exists (entryLocationFile.Text)) {
+ warningLocation.Show ();
+ warningLocation.TooltipText = GettextCatalog.GetString ("File does not exist");
+ return false;
+ }
+
+ int val;
+ if (!Int32.TryParse (entryLocationLine.Text, out val)) {
+ warningLocation.Show ();
+ warningLocation.TooltipText = GettextCatalog.GetString ("Line is not a number");
+ return false;
+ }
+
+ if (!Int32.TryParse (entryLocationColumn.Text, out val)) {
+ warningLocation.Show ();
+ warningLocation.TooltipText = GettextCatalog.GetString ("Column is not a number");
+ return false;
+ }
+
+ if (stopOnLocation.Active) {
+ if (checkPrintExpression.Active && entryPrintExpression.Text.Length == 0) {
+ warningCondition.Show ();
+ warningCondition.TooltipText = GettextCatalog.GetString ("Trace expression not specified");
+ return false;
+ }
+ }
+ } else if (be is Catchpoint) {
+
+ }
+
+ warningFunction.Hide ();
+ warningLocation.Hide ();
+ warningException.Hide ();
+ warningCondition.Hide ();
+
+ // Implement catchpoint
+
+ return true;
+ }
+
+ static bool TryParseFunction (string signature, out string function, out string[] paramTypes)
+ {
+ int paramListStart = signature.IndexOf ('(');
+ int paramListEnd = signature.IndexOf (')');
+
+ if (paramListStart == -1 && paramListEnd == -1) {
+ function = signature;
+ paramTypes = null;
+ return true;
+ }
+
+ if (paramListEnd != signature.Length - 1) {
+ paramTypes = null;
+ function = null;
+ return false;
+ }
+
+ function = signature.Substring (0, paramListStart).Trim ();
+
+ paramListStart++;
+
+ if (!FunctionBreakpoint.TryParseParameters (signature, paramListStart, paramListEnd, out paramTypes)) {
+ paramTypes = null;
+ function = null;
+ return false;
+ }
+
+ return true;
+ }
+
+ void SetLayout ()
+ {
+ var vbox = new Xwt.VBox ();
+ vbox.MinHeight = 400;
+ vbox.MinWidth = 450;
+
+ vbox.PackStart (new Xwt.Label (GettextCatalog.GetString ("Pause program execution in the debugger")));
+
+ // Radio group
+ var vboxRadio = new Xwt.VBox {
+ MarginLeft = 12
+ };
+
+ // Function group
+ vboxRadio.PackStart (stopOnFunction);
+
+ hboxFunction = new Xwt.HBox {
+ MarginLeft = 12
+ };
+ hboxFunction.PackStart (new Xwt.Label (GettextCatalog.GetString ("Function:")));
+ hboxFunction.PackStart (entryFunctionName, true);
+ hboxFunction.PackEnd (warningFunction);
+
+ vboxRadio.PackStart (hboxFunction);
+
+ // Location group
+ vboxRadio.PackStart (stopOnLocation);
+
+ var vboxLocation = new Xwt.VBox {
+ MarginLeft = 12
+ };
+ hboxLocation = new Xwt.HBox ();
+ hboxLocation.PackStart (new Xwt.Label (GettextCatalog.GetString ("Location:")));
+ hboxLocation.PackStart (entryLocationFile, true);
+ hboxLocation.PackEnd (warningLocation);
+ vboxLocation.PackStart (hboxLocation);
+
+ hboxLineColumn = new Xwt.HBox ();
+ hboxLineColumn.PackStart (new Xwt.Label (GettextCatalog.GetString ("Line:")));
+ hboxLineColumn.PackStart (entryLocationLine);
+ hboxLineColumn.PackStart (new Xwt.Label (GettextCatalog.GetString ("Column:")));
+ hboxLineColumn.PackStart (entryLocationColumn);
+ vboxLocation.PackStart (hboxLineColumn);
+
+ vboxRadio.PackStart (vboxLocation);
+
+ // Exception group
+ vboxRadio.PackStart (stopOnException);
+
+ var vboxException = new Xwt.VBox {
+ MarginLeft = 12
+ };
+ hboxException = new Xwt.HBox ();
+ hboxException.PackStart (new Xwt.Label (GettextCatalog.GetString ("Type:")));
+ hboxException.PackStart (entryExceptionType, true);
+ hboxException.PackEnd (warningException);
+
+ vboxException.PackStart (hboxException);
+ vboxException.PackStart (checkIncludeSubclass);
+ vboxRadio.PackStart (vboxException);
+
+ vbox.PackStart (vboxRadio);
+
+ var hboxCondition = new Xwt.HBox ();
+ hboxCondition.PackStart (new Xwt.Label (GettextCatalog.GetString ("Condition:")));
+ hboxCondition.PackStart (entryConditionalExpression, true);
+ hboxCondition.PackEnd (warningCondition);
+ hboxCondition.PackEnd (conditionalHitType);
+
+ vbox.PackStart (hboxCondition);
+
+ var hboxHitCount = new Xwt.HBox ();
+ hboxHitCount.PackStart (new Xwt.Label (GettextCatalog.GetString ("When hit break")));
+ hboxHitCount.PackStart (ignoreHitType);
+ hboxHitCount.PackStart (ignoreHitCount);
+
+ vbox.PackStart (hboxHitCount);
+
+ vbox.PackStart (checkPrintExpression);
+ var vboxExpression = new Xwt.VBox {
+ MarginLeft = 12
+ };
+ vboxExpression.PackStart (entryPrintExpression);
+ vboxExpression.PackStart (checkResumeExecution);
+
+ vbox.PackStart (vboxExpression);
+
+ Buttons.Add (new Xwt.DialogButton (Xwt.Command.Cancel));
+ Buttons.Add (buttonOk);
+
+ Content = vbox;
+
+ OnUpdateControls (null, null);
+ }
+ }
+}
\ No newline at end of file
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
===================================================================
@@ -555,46 +555,21 @@ class NewBreakpointHandler: CommandHandler
{
protected override void Run ()
{
- Breakpoint bp = new Breakpoint (IdeApp.Workbench.ActiveDocument.FileName, IdeApp.Workbench.ActiveDocument.Editor.Caret.Line, IdeApp.Workbench.ActiveDocument.Editor.Caret.Column);
- if (DebuggingService.ShowBreakpointProperties (bp, true)) {
- var breakpoints = DebuggingService.Breakpoints;
+ BreakEvent bp = null;
+ if (DebuggingService.ShowBreakpointProperties (ref bp)) {
+ if (bp is Breakpoint) {
+ var breakpoints = DebuggingService.Breakpoints;
- lock (breakpoints)
- breakpoints.Add (bp);
- }
- }
-
- protected override void Update (CommandInfo info)
- {
- info.Visible = DebuggingService.IsFeatureSupported (DebuggerFeatures.Breakpoints);
- if (IdeApp.Workbench.ActiveDocument != null &&
- IdeApp.Workbench.ActiveDocument.Editor != null &&
- IdeApp.Workbench.ActiveDocument.FileName != FilePath.Null &&
- !DebuggingService.Breakpoints.IsReadOnly) {
- info.Enabled = true;
- } else {
- info.Enabled = false;
- }
- }
- }
-
- class NewFunctionBreakpointHandler: CommandHandler
- {
- protected override void Run ()
- {
- FunctionBreakpoint bp = new FunctionBreakpoint ("", "C#");
- if (DebuggingService.ShowBreakpointProperties (bp, true)) {
- var breakpoints = DebuggingService.Breakpoints;
-
- lock (breakpoints)
- breakpoints.Add (bp);
+ lock (breakpoints)
+ breakpoints.Add (bp);
+ }
}
}
protected override void Update (CommandInfo info)
{
info.Visible = DebuggingService.IsFeatureSupported (DebuggerFeatures.Breakpoints);
- info.Enabled = !DebuggingService.Breakpoints.IsReadOnly && IdeApp.Workspace.IsOpen;
+ info.Enabled = !DebuggingService.Breakpoints.IsReadOnly;
}
}
@@ -611,8 +586,10 @@ protected override void Run ()
IdeApp.Workbench.ActiveDocument.Editor.Caret.Line);
}
- if (brs.Count > 0)
- DebuggingService.ShowBreakpointProperties (brs[0], false);
+ if (brs.Count > 0) {
+ BreakEvent be = brs [0];
+ DebuggingService.ShowBreakpointProperties (ref be);
+ }
}
protected override void Update (CommandInfo info)
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
===================================================================
@@ -215,12 +215,11 @@ public static void ShowValueVisualizer (ObjectValue val)
MessageService.ShowCustomDialog (dlg);
}
- public static bool ShowBreakpointProperties (Breakpoint bp, bool editNew)
+ public static bool ShowBreakpointProperties (ref BreakEvent bp)
{
- var dlg = new BreakpointPropertiesDialog (bp, editNew);
- if (MessageService.ShowCustomDialog (dlg) == (int) Gtk.ResponseType.Ok)
- return true;
- return false;
+ using (var dlg = new BreakpointPropertiesDialog2 (ref bp)) {
+ return dlg.Run () == Xwt.Command.Ok;
+ }
}
public static void ShowAddTracepointDialog (string file, int line)
Commit: 355955a76f9aa413d4f30a4deab09415bdb88b45
Author: Therzok <[email protected]> (Therzok)
Committer: Ungureanu Marius <[email protected]> (Therzok)
Date: 2013-10-19 17:31:13 GMT
URL: https://github.com/mono/monodevelop/commit/355955a76f9aa413d4f30a4deab09415bdb88b45
[Debugger] Fixed new Breakpoints Properties dialog to handle catchpoints.
Changed paths:
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog2.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog2.cs
===================================================================
@@ -28,6 +28,9 @@
using MonoDevelop.Core;
using MonoDevelop.Projects;
using MonoDevelop.Ide;
+using System.Collections.Generic;
+using MonoDevelop.Ide.TypeSystem;
+using ICSharpCode.NRefactory.TypeSystem;
namespace MonoDevelop.Debugger
{
@@ -80,11 +83,13 @@ class BreakpointPropertiesDialog2 : Xwt.Dialog
BreakEvent be;
string[] parsedParamTypes;
string parsedFunction;
+ readonly HashSet<string> classes = new HashSet<string> ();
- public BreakpointPropertiesDialog2 (ref BreakEvent be)
+ public BreakpointPropertiesDialog2 (BreakEvent be)
{
this.be = be;
+ LoadExceptionList ();
Initialize ();
SetInitialData ();
SetLayout ();
@@ -174,7 +179,7 @@ void SetInitialBreakpointData (Breakpoint bp)
void SetInitialCatchpointData (Catchpoint cp)
{
-
+ entryExceptionType.Text = cp.ExceptionName;
}
void SetInitialData ()
@@ -186,6 +191,7 @@ void SetInitialData ()
entryLocationFile.ReadOnly = true;
entryLocationLine.ReadOnly = true;
entryLocationColumn.ReadOnly = true;
+ entryExceptionType.ReadOnly = true;
ignoreHitType.SelectedItem = be.HitCountMode;
ignoreHitCount.Value = be.HitCount;
@@ -218,12 +224,10 @@ void SetInitialData ()
SetInitialCatchpointData (cp);
}
- void SaveFunctionBreakpoint (FunctionBreakpoint fb, bool isNew)
+ void SaveFunctionBreakpoint (FunctionBreakpoint fb)
{
- if (isNew) {
- fb.FunctionName = parsedFunction;
- fb.ParamTypes = parsedParamTypes;
- }
+ fb.FunctionName = parsedFunction;
+ fb.ParamTypes = parsedParamTypes;
}
void SaveBreakpoint (Breakpoint bp, bool isNew)
@@ -240,9 +244,13 @@ void SaveBreakpoint (Breakpoint bp, bool isNew)
bp.ConditionExpression = null;
}
- void SaveCatchpoint (Catchpoint cp, bool isNew)
+ void SaveCatchpoint (Catchpoint cp)
{
-
+ if (checkIncludeSubclass.Active) {
+ // add stuff
+ } else {
+ // remove stuff
+ }
}
void OnSave (object sender, EventArgs e)
@@ -263,7 +271,7 @@ void OnSave (object sender, EventArgs e)
var fb = be as FunctionBreakpoint;
if (fb != null)
- SaveFunctionBreakpoint (fb, isNew);
+ SaveFunctionBreakpoint (fb);
var bp = be as Breakpoint;
if (bp != null)
@@ -271,7 +279,7 @@ void OnSave (object sender, EventArgs e)
var cp = be as Catchpoint;
if (cp != null)
- SaveCatchpoint (cp, isNew);
+ SaveCatchpoint (cp);
be.HitCountMode = (HitCountMode)ignoreHitType.SelectedItem;
be.HitCount = be.HitCountMode != HitCountMode.None ? (int)ignoreHitCount.Value : 0;
@@ -361,7 +369,11 @@ bool CheckValidity ()
}
}
} else if (be is Catchpoint) {
-
+ if (!classes.Contains (entryExceptionType.Text)) {
+ warningException.Show ();
+ warningException.TooltipText = GettextCatalog.GetString ("Exception not identified");
+ return false;
+ }
}
warningFunction.Hide ();
@@ -369,8 +381,6 @@ bool CheckValidity ()
warningException.Hide ();
warningCondition.Hide ();
- // Implement catchpoint
-
return true;
}
@@ -404,6 +414,30 @@ static bool TryParseFunction (string signature, out string function, out string[
return true;
}
+ void LoadExceptionList ()
+ {
+ classes.Add ("System.Exception");
+ if (IdeApp.ProjectOperations.CurrentSelectedProject != null) {
+ var dom = TypeSystemService.GetCompilation (IdeApp.ProjectOperations.CurrentSelectedProject);
+ foreach (var t in dom.FindType (typeof (Exception)).GetSubTypeDefinitions ())
+ classes.Add (t.ReflectionName);
+ } else {
+ // no need to unload this assembly context, it's not cached.
+ var unresolvedAssembly = TypeSystemService.LoadAssemblyContext (Runtime.SystemAssemblyService.CurrentRuntime, MonoDevelop.Core.Assemblies.TargetFramework.Default, typeof(Uri).Assembly.Location);
+ var mscorlib = TypeSystemService.LoadAssemblyContext (Runtime.SystemAssemblyService.CurrentRuntime, MonoDevelop.Core.Assemblies.TargetFramework.Default, typeof(object).Assembly.Location);
+ if (unresolvedAssembly != null && mscorlib != null) {
+ var dom = new ICSharpCode.NRefactory.TypeSystem.Implementation.SimpleCompilation (unresolvedAssembly, mscorlib);
+ foreach (var t in dom.FindType (typeof (Exception)).GetSubTypeDefinitions ())
+ classes.Add (t.ReflectionName);
+ }
+ }
+ }
+
+ public BreakEvent GetBreakEvent ()
+ {
+ return be;
+ }
+
void SetLayout ()
{
var vbox = new Xwt.VBox ();
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
===================================================================
@@ -557,12 +557,10 @@ protected override void Run ()
{
BreakEvent bp = null;
if (DebuggingService.ShowBreakpointProperties (ref bp)) {
- if (bp is Breakpoint) {
- var breakpoints = DebuggingService.Breakpoints;
+ var breakpoints = DebuggingService.Breakpoints;
- lock (breakpoints)
- breakpoints.Add (bp);
- }
+ lock (breakpoints)
+ breakpoints.Add (bp);
}
}
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
===================================================================
@@ -217,8 +217,11 @@ public static void ShowValueVisualizer (ObjectValue val)
public static bool ShowBreakpointProperties (ref BreakEvent bp)
{
- using (var dlg = new BreakpointPropertiesDialog2 (ref bp)) {
- return dlg.Run () == Xwt.Command.Ok;
+ using (var dlg = new BreakpointPropertiesDialog2 (bp)) {
+ Xwt.Command response = dlg.Run ();
+ if (bp == null)
+ bp = dlg.GetBreakEvent ();
+ return response == Xwt.Command.Ok;
}
}
Commit: 1b0dac77d373f123924673cc4300fc470bdc76f9
Author: Therzok <[email protected]> (Therzok)
Committer: Ungureanu Marius <[email protected]> (Therzok)
Date: 2013-10-19 17:31:13 GMT
URL: https://github.com/mono/monodevelop/commit/1b0dac77d373f123924673cc4300fc470bdc76f9
[Debugger] Removed Catchpoints dialog.
Integrated catchpoints into breakpoints pad.
Changed paths:
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.addin.xml
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.csproj
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPad.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog2.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
Removed paths:
D main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ExceptionsDialog.cs
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.addin.xml
===================================================================
@@ -154,9 +154,6 @@
_label = "Expression Evaluator"
shortcut = "Shift|F9"
defaultHandler = "MonoDevelop.Debugger.ExpressionEvaluatorCommand" />
- <Command id = "MonoDevelop.Debugger.DebugCommands.SelectExceptions"
- _label = "Exceptions..."
- defaultHandler = "MonoDevelop.Debugger.SelectExceptionsCommand" />
<Command id = "MonoDevelop.Debugger.DebugCommands.ShowCurrentExecutionLine"
_label = "Show Current Execution Line"
shortcut = "Alt|*"
@@ -195,7 +192,6 @@
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.EnableDisableBreakpoint" />
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.DisableAllBreakpoints" />
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.ClearAllBreakpoints" />
- <CommandItem id = "MonoDevelop.Debugger.DebugCommands.SelectExceptions" />
<SeparatorItem id = "MonoDevelop.Debugger.ToolsSection" />
<CommandItem id = "MonoDevelop.Debugger.DebugCommands.ExpressionEvaluator" />
</Extension>
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.csproj
===================================================================
@@ -116,7 +116,6 @@
<Compile Include="MonoDevelop.Debugger\DebugCommands.cs" />
<Compile Include="MonoDevelop.Debugger\Extensions.cs" />
<Compile Include="MonoDevelop.Debugger\AttachToProcessDialog.cs" />
- <Compile Include="MonoDevelop.Debugger\ExceptionsDialog.cs" />
<Compile Include="gtk-gui\MonoDevelop.Debugger.ExceptionsDialog.cs" />
<Compile Include="gtk-gui\MonoDevelop.Debugger.AttachToProcessDialog.cs" />
<Compile Include="MonoDevelop.Debugger\ExpressionEvaluatorDialog.cs" />
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPad.cs
===================================================================
@@ -45,7 +45,7 @@ public class BreakpointPad : IPadContent
BreakpointStore breakpoints;
PadTreeView tree;
- Gtk.TreeStore store;
+ TreeStore store;
Widget control;
ScrolledWindow sw;
CommandEntrySet menuSet;
@@ -225,7 +225,7 @@ protected void OnEnableDisable ()
if (!store.GetIter (out iter, path))
continue;
- Breakpoint bp = (Breakpoint) store.GetValue (iter, (int) Columns.Breakpoint);
+ BreakEvent bp = (BreakEvent) store.GetValue (iter, (int) Columns.Breakpoint);
if (!bp.Enabled) {
enable = true;
break;
@@ -238,7 +238,7 @@ protected void OnEnableDisable ()
if (!store.GetIter (out iter, path))
continue;
- Breakpoint bp = (Breakpoint) store.GetValue (iter, (int) Columns.Breakpoint);
+ BreakEvent bp = (BreakEvent) store.GetValue (iter, (int) Columns.Breakpoint);
bp.Enabled = enable;
store.SetValue (iter, (int) Columns.Icon, enable ? "md-breakpoint" : "md-breakpoint-disabled");
@@ -256,9 +256,12 @@ protected void OnBpJumpTo ()
TreeIter iter;
if (selected.Length == 1 && store.GetIter (out iter, selected[0])) {
- Breakpoint bp = (Breakpoint) store.GetValue (iter, (int) Columns.Breakpoint);
- if (!string.IsNullOrEmpty (bp.FileName))
- IdeApp.Workbench.OpenDocument (bp.FileName, bp.Line, 1);
+ var be = (BreakEvent) store.GetValue (iter, (int) Columns.Breakpoint);
+ var bp = be as Breakpoint;
+ if (bp != null) {
+ if (!string.IsNullOrEmpty (bp.FileName))
+ IdeApp.Workbench.OpenDocument (bp.FileName, bp.Line, 1);
+ }
}
}
@@ -280,7 +283,7 @@ bool DeleteSelectedBreakpoints ()
if (!store.GetIter (out iter, path))
continue;
- var bp = (Breakpoint) store.GetValue (iter, (int) Columns.Breakpoint);
+ var bp = (BreakEvent) store.GetValue (iter, (int) Columns.Breakpoint);
lock (breakpoints)
breakpoints.Remove (bp);
deleted = true;
@@ -359,7 +362,7 @@ void ItemToggled (object o, ToggledArgs args)
TreeIter iter;
if (store.GetIterFromString (out iter, args.Path)) {
- Breakpoint bp = (Breakpoint) store.GetValue (iter, (int) Columns.Breakpoint);
+ BreakEvent bp = (BreakEvent) store.GetValue (iter, (int) Columns.Breakpoint);
bp.Enabled = !bp.Enabled;
store.SetValue (iter, (int) Columns.Icon, bp.Enabled ? "md-breakpoint" : "md-breakpoint-disabled");
@@ -380,27 +383,32 @@ public void UpdateDisplay ()
store.Clear ();
if (breakpoints != null) {
lock (breakpoints) {
- foreach (Breakpoint bp in breakpoints.GetBreakpoints ()) {
- string hitCount = bp.HitCountMode != HitCountMode.None ? bp.CurrentHitCount.ToString () : "";
- string traceExp = bp.HitAction == HitAction.PrintExpression ? bp.TraceExpression : "";
- string traceVal = bp.HitAction == HitAction.PrintExpression ? bp.LastTraceValue : "";
+ foreach (BreakEvent be in breakpoints.GetBreakevents ()) {
+ string hitCount = be.HitCountMode != HitCountMode.None ? be.CurrentHitCount.ToString () : "";
+ string traceExp = be.HitAction == HitAction.PrintExpression ? be.TraceExpression : "";
+ string traceVal = be.HitAction == HitAction.PrintExpression ? be.LastTraceValue : "";
string name;
- if (bp is FunctionBreakpoint) {
- FunctionBreakpoint fb = (FunctionBreakpoint) bp;
-
+ var fb = be as FunctionBreakpoint;
+ var bp = be as Breakpoint;
+ var cp = be as Catchpoint;
+ if (fb != null) {
if (fb.ParamTypes != null)
name = fb.FunctionName + "(" + string.Join (", ", fb.ParamTypes) + ")";
else
name = fb.FunctionName;
+ } else if (bp != null) {
+ name = String.Format ("{0}:{1},{2}", bp.FileName, bp.Line, bp.Column);
+ } else if (cp != null) {
+ name = cp.ExceptionName;
} else {
- name = string.Format ("{0}:{1},{2}", ((Breakpoint) bp).FileName, bp.Line, bp.Column);
+ name = "";
}
- if (bp.Enabled)
- store.AppendValues ("md-breakpoint", true, name, bp, bp.ConditionExpression, traceExp, hitCount, traceVal);
+ if (be.Enabled)
+ store.AppendValues ("md-breakpoint", true, name, be, bp != null ? bp.ConditionExpression : null, traceExp, hitCount, traceVal);
else
- store.AppendValues ("md-breakpoint-disabled", false, name, bp, bp.ConditionExpression, traceExp, hitCount, traceVal);
+ store.AppendValues ("md-breakpoint-disabled", false, name, be, bp != null ? bp.ConditionExpression : null, traceExp, hitCount, traceVal);
}
}
}
@@ -416,7 +424,7 @@ void OnBreakpointUpdated (object s, BreakpointEventArgs args)
return;
do {
- Breakpoint bp = (Breakpoint) store.GetValue (it, (int) Columns.Breakpoint);
+ var bp = (BreakEvent) store.GetValue (it, (int) Columns.Breakpoint);
if (bp == args.Breakpoint) {
string hitCount = bp.HitCountMode != HitCountMode.None ? bp.CurrentHitCount.ToString () : "";
string traceVal = bp.HitAction == HitAction.PrintExpression ? bp.LastTraceValue : "";
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog2.cs
===================================================================
@@ -49,6 +49,7 @@ class BreakpointPropertiesDialog2 : Xwt.Dialog
Xwt.HBox hboxLocation = new Xwt.HBox ();
Xwt.HBox hboxLineColumn = new Xwt.HBox ();
Xwt.HBox hboxException = new Xwt.HBox ();
+ Xwt.HBox hboxCondition = new Xwt.HBox ();
// Stop-type radios.
readonly Xwt.RadioButton stopOnFunction = new Xwt.RadioButton (GettextCatalog.GetString ("When a function is entered"));
@@ -97,7 +98,6 @@ public BreakpointPropertiesDialog2 (BreakEvent be)
void Initialize ()
{
- // TODO: Make dialog for exceptions.
Title = GettextCatalog.GetString (be == null ? "New Breakpoint" : "Breakpoint Properties");
var buttonLabel = GettextCatalog.GetString (be == null ? "Add breakpoint" : "Modify breakpoint");
@@ -134,6 +134,10 @@ void Initialize ()
ignoreHitType.SelectionChanged += OnUpdateControls;
checkPrintExpression.Toggled += OnUpdateControls;
+ entryFunctionName.Changed += OnUpdateText;
+ entryLocationFile.Changed += OnUpdateText;
+ entryExceptionType.Changed += OnUpdateText;
+
buttonOk.Clicked += OnSave;
}
@@ -201,14 +205,14 @@ void SetInitialData ()
entryPrintExpression.Text = be.TraceExpression;
}
} else {
+ ignoreHitType.SelectedItem = HitCountMode.None;
+ conditionalHitType.SelectedItem = ConditionalHitWhen.ConditionIsTrue;
+
if (IdeApp.Workbench.ActiveDocument != null) {
entryLocationFile.Text = IdeApp.Workbench.ActiveDocument.FileName;
entryLocationLine.Text = IdeApp.Workbench.ActiveDocument.Editor.Caret.Line.ToString ();
entryLocationColumn.Text = IdeApp.Workbench.ActiveDocument.Editor.Caret.Column.ToString ();
}
-
- ignoreHitType.SelectedItem = HitCountMode.None;
- conditionalHitType.SelectedItem = ConditionalHitWhen.ConditionIsTrue;
}
var fb = be as FunctionBreakpoint;
@@ -302,6 +306,7 @@ void OnUpdateControls (object sender, EventArgs e)
hboxLocation.Sensitive = stopOnLocation.Active;
hboxException.Sensitive = stopOnException.Active;
checkIncludeSubclass.Sensitive = stopOnException.Active;
+ hboxCondition.Sensitive = !stopOnException.Active;
// Check conditional
if (!String.IsNullOrEmpty (entryConditionalExpression.Text))
@@ -323,6 +328,13 @@ void OnUpdateControls (object sender, EventArgs e)
buttonOk.Sensitive = CheckValidity ();
}
+ void OnUpdateText (object sender, EventArgs e)
+ {
+
+
+ buttonOk.Sensitive = CheckValidity ();
+ }
+
bool CheckValidity ()
{
if (be is FunctionBreakpoint) {
@@ -501,7 +513,7 @@ void SetLayout ()
vbox.PackStart (vboxRadio);
- var hboxCondition = new Xwt.HBox ();
+ hboxCondition = new Xwt.HBox ();
hboxCondition.PackStart (new Xwt.Label (GettextCatalog.GetString ("Condition:")));
hboxCondition.PackStart (entryConditionalExpression, true);
hboxCondition.PackEnd (warningCondition);
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
===================================================================
@@ -59,7 +59,6 @@ public enum DebugCommands
RemoveBreakpoint,
ShowBreakpointProperties,
ExpressionEvaluator,
- SelectExceptions,
ShowCurrentExecutionLine,
AddTracepoint,
AddWatch,
@@ -620,19 +619,6 @@ protected override void Update (CommandInfo info)
info.Enabled = DebuggingService.CurrentFrame != null;
}
}
-
- class SelectExceptionsCommand: CommandHandler
- {
- protected override void Run ()
- {
- DebuggingService.ShowExceptionsFilters ();
- }
-
- protected override void Update (CommandInfo info)
- {
- info.Visible = DebuggingService.IsFeatureSupported (DebuggerFeatures.Catchpoints);
- }
- }
class ShowCurrentExecutionLineCommand : CommandHandler
{
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
===================================================================
@@ -327,11 +327,6 @@ static void HideExceptionCaughtDialog ()
return exceptionDialog;
}
}
-
- public static void ShowExceptionsFilters ()
- {
- MessageService.ShowCustomDialog (new ExceptionsDialog ());
- }
static void SetupSession ()
{
Removed: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ExceptionsDialog.cs
===================================================================
@@ -1,245 +0,0 @@
-// ExceptionsDialog.cs
-//
-// Author:
-// Lluis Sanchez Gual <[email protected]>
-//
-// Copyright (c) 2008 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-//
-
-using System;
-using System.Collections.Generic;
-using Gtk;
-using MonoDevelop.Core;
-using MonoDevelop.Components;
-using Mono.Debugging.Client;
-using MonoDevelop.Ide;
-using ICSharpCode.NRefactory.TypeSystem;
-using MonoDevelop.Ide.TypeSystem;
-
-namespace MonoDevelop.Debugger
-{
- public partial class ExceptionsDialog : Gtk.Dialog
- {
- ListStore storeExceptions;
- ListStore storeSelection;
- HashSet<string> classes = new HashSet<string> ();
- TreeViewState tstateExc;
- TreeViewState tstateSel;
- bool updateScheduled;
- HashSet<string> selectedClasses = new HashSet<string> ();
-
- public ExceptionsDialog()
- {
- this.Build ();
-
- storeExceptions = new ListStore (typeof(String));
- treeExceptions.Selection.Mode = SelectionMode.Multiple;
- treeExceptions.Model = storeExceptions;
- treeExceptions.AppendColumn ("", new CellRendererText (), "text", 0);
- tstateExc = new TreeViewState (treeExceptions, 0);
- storeExceptions.SetSortColumnId (0, SortType.Ascending);
-
- storeSelection = new ListStore (typeof(String));
- treeSelected.Selection.Mode = SelectionMode.Multiple;
- treeSelected.Model = storeSelection;
- treeSelected.AppendColumn ("", new CellRendererText (), "text", 0);
- tstateSel = new TreeViewState (treeSelected, 0);
- storeSelection.SetSortColumnId (0, SortType.Ascending);
-
- var breakpoints = DebuggingService.Breakpoints;
- lock (breakpoints) {
- foreach (Catchpoint cp in breakpoints.GetCatchpoints ())
- selectedClasses.Add (cp.ExceptionName);
- }
-
- LoadExceptions ();
-
- FillSelection ();
- FillExceptions ();
- }
-
- void LoadExceptions ()
- {
- classes.Add ("System.Exception");
- if (IdeApp.ProjectOperations.CurrentSelectedProject != null) {
- var dom = TypeSystemService.GetCompilation (IdeApp.ProjectOperations.CurrentSelectedProject);
- foreach (var t in dom.FindType (typeof (Exception)).GetSubTypeDefinitions ())
- classes.Add (t.ReflectionName);
- } else {
- // no need to unload this assembly context, it's not cached.
- var unresolvedAssembly = TypeSystemService.LoadAssemblyContext (Runtime.SystemAssemblyService.CurrentRuntime, MonoDevelop.Core.Assemblies.TargetFramework.Default, typeof(Uri).Assembly.Location);
- var mscorlib = TypeSystemService.LoadAssemblyContext (Runtime.SystemAssemblyService.CurrentRuntime, MonoDevelop.Core.Assemblies.TargetFramework.Default, typeof(object).Assembly.Location);
- if (unresolvedAssembly != null && mscorlib != null) {
- var dom = new ICSharpCode.NRefactory.TypeSystem.Implementation.SimpleCompilation (unresolvedAssembly, mscorlib);
- foreach (var t in dom.FindType (typeof (Exception)).GetSubTypeDefinitions ())
- classes.Add (t.ReflectionName);
- }
- }
- }
-
- void FillExceptions ()
- {
- tstateExc.Save ();
- storeExceptions.Clear ();
- string filter = entryFilter.Text;
- foreach (string t in classes) {
- if ((filter.Length == 0 || t.IndexOf (filter, StringComparison.OrdinalIgnoreCase) != -1) && !selectedClasses.Contains (t))
- storeExceptions.AppendValues (t);
- }
- tstateExc.Load ();
- if (treeExceptions.Selection.CountSelectedRows () == 0) {
- TreeIter it;
- if (storeExceptions.GetIterFirst (out it))
- treeExceptions.Selection.SelectIter (it);
- }
- }
-
- void FillSelection ()
- {
- tstateSel.Save ();
- storeSelection.Clear ();
- foreach (string exc in selectedClasses)
- storeSelection.AppendValues (exc);
- tstateSel.Load ();
- if (treeSelected.Selection.CountSelectedRows () == 0) {
- TreeIter it;
- if (storeSelection.GetIterFirst (out it))
- treeSelected.Selection.SelectIter (it);
- }
- }
-
- protected virtual void OnEntryFilterChanged (object sender, System.EventArgs e)
- {
- if (!updateScheduled) {
- updateScheduled = true;
- GLib.Timeout.Add (200, delegate {
- updateScheduled = false;
- FillExceptions ();
- return false;
- });
- }
- }
-
- protected virtual void OnButtonAddClicked (object sender, System.EventArgs e)
- {
- foreach (TreePath path in treeExceptions.Selection.GetSelectedRows ()) {
- TreeIter it;
- if (storeExceptions.GetIter (out it, path)) {
- string exc = (string) storeExceptions.GetValue (it, 0);
- selectedClasses.Add (exc);
- }
- }
- SelectNearest (treeExceptions);
- FillSelection ();
- FillExceptions ();
- }
-
- protected virtual void OnButtonRemoveClicked (object sender, System.EventArgs e)
- {
- foreach (TreePath path in treeSelected.Selection.GetSelectedRows ()) {
- TreeIter it;
- if (storeSelection.GetIter (out it, path)) {
- string exc = (string) storeSelection.GetValue (it, 0);
- selectedClasses.Remove (exc);
- }
- }
- SelectNearest (treeSelected);
- FillSelection ();
- FillExceptions ();
- }
-
- void SelectNearest (TreeView view)
- {
- ListStore store = (ListStore) view.Model;
- TreePath[] paths = view.Selection.GetSelectedRows ();
- if (paths.Length == 0)
- return;
- TreeIter it;
- store.GetIter (out it, paths [paths.Length - 1]);
- if (store.IterNext (ref it)) {
- view.Selection.UnselectAll ();
- view.Selection.SelectIter (it);
- return;
- }
- store.GetIter (out it, paths [0]);
- if (store.IterNext (ref it)) {
- view.Selection.UnselectAll ();
- view.Selection.SelectIter (it);
- return;
- }
- }
-
- protected virtual void OnEntryFilterActivated (object sender, EventArgs e)
- {
- OnButtonAddClicked (null, null);
- }
-
- protected virtual void OnButtonOkClicked (object sender, EventArgs e)
- {
- var breakpoints = DebuggingService.Breakpoints;
-
- lock (breakpoints) {
- foreach (Catchpoint cp in new List<Catchpoint> (breakpoints.GetCatchpoints ())) {
- if (!selectedClasses.Contains (cp.ExceptionName))
- breakpoints.Remove (cp);
- else
- selectedClasses.Remove (cp.ExceptionName);
- }
-
- foreach (string exc in selectedClasses)
- breakpoints.AddCatchpoint (exc);
- }
- }
-
- [GLib.ConnectBefore]
- protected virtual void OnTreeSelectedKeyPressEvent (object o, Gtk.KeyPressEventArgs args)
- {
- if (args.Event.Key == Gdk.Key.Return || args.Event.Key == Gdk.Key.KP_Enter) {
- OnButtonRemoveClicked (null, null);
- args.RetVal = true;
- }
- }
-
- [GLib.ConnectBefore]
- protected virtual void OnTreeSelectedButtonPressEvent (object o, Gtk.ButtonPressEventArgs args)
- {
- if (args.Event.Button == 1 && args.Event.Type == Gdk.EventType.TwoButtonPress)
- OnButtonRemoveClicked (o, args);
- }
-
- [GLib.ConnectBefore]
- protected virtual void OnTreeExceptionsKeyPressEvent (object o, Gtk.KeyPressEventArgs args)
- {
- if (args.Event.Key == Gdk.Key.Return || args.Event.Key == Gdk.Key.KP_Enter) {
- OnButtonAddClicked (null, null);
- args.RetVal = true;
- }
- }
-
- [GLib.ConnectBefore]
- protected virtual void OnTreeExceptionsButtonPressEvent (object o, Gtk.ButtonPressEventArgs args)
- {
- if (args.Event.Button == 1 && args.Event.Type == Gdk.EventType.TwoButtonPress)
- OnButtonAddClicked (o, args);
- }
- }
-}
Commit: d3eba42fb36bb314bef61ea65fb8009449bf92bb
Author: Ungureanu Marius <[email protected]> (Therzok)
Date: 2013-10-19 17:31:13 GMT
URL: https://github.com/mono/monodevelop/commit/d3eba42fb36bb314bef61ea65fb8009449bf92bb
Remove tracepoint dialog
Changed paths:
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.csproj
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
M main/src/addins/MonoDevelop.Debugger/gtk-gui/gui.stetic
Removed paths:
D main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/AddTracePointDialog.cs
D main/src/addins/MonoDevelop.Debugger/gtk-gui/MonoDevelop.Debugger.AddTracePointDialog.cs
D main/src/addins/MonoDevelop.Debugger/gtk-gui/MonoDevelop.Debugger.ExceptionsDialog.cs
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.csproj
===================================================================
@@ -116,7 +116,6 @@
<Compile Include="MonoDevelop.Debugger\DebugCommands.cs" />
<Compile Include="MonoDevelop.Debugger\Extensions.cs" />
<Compile Include="MonoDevelop.Debugger\AttachToProcessDialog.cs" />
- <Compile Include="gtk-gui\MonoDevelop.Debugger.ExceptionsDialog.cs" />
<Compile Include="gtk-gui\MonoDevelop.Debugger.AttachToProcessDialog.cs" />
<Compile Include="MonoDevelop.Debugger\ExpressionEvaluatorDialog.cs" />
<Compile Include="gtk-gui\MonoDevelop.Debugger.ExpressionEvaluatorDialog.cs" />
@@ -129,8 +128,6 @@
<Compile Include="gtk-gui\MonoDevelop.Debugger.BusyEvaluatorDialog.cs" />
<Compile Include="MonoDevelop.Debugger\DebuggerOptionsPanelWidget.cs" />
<Compile Include="gtk-gui\MonoDevelop.Debugger.DebuggerOptionsPanelWidget.cs" />
- <Compile Include="MonoDevelop.Debugger\AddTracePointDialog.cs" />
- <Compile Include="gtk-gui\MonoDevelop.Debugger.AddTracePointDialog.cs" />
<Compile Include="MonoDevelop.Debugger\PinnedWatch.cs" />
<Compile Include="MonoDevelop.Debugger\PinnedWatchStore.cs" />
<Compile Include="MonoDevelop.Debugger\DebuggerEngine.cs" />
Removed: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/AddTracePointDialog.cs
===================================================================
@@ -1,48 +0,0 @@
-//
-// AddTracePointDialog.cs
-//
-// Author:
-// Lluis Sanchez Gual <[email protected]>
-//
-// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-
-namespace MonoDevelop.Debugger
-{
-
-
- public partial class AddTracePointDialog : Gtk.Dialog
- {
- public AddTracePointDialog ()
- {
- this.Build ();
- }
-
- public string Text {
- get { return entryTrace.Text; }
- }
-
- public string Condition {
- get { return entryCondition.Text; }
- }
- }
-}
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs
===================================================================
@@ -60,7 +60,6 @@ public enum DebugCommands
ShowBreakpointProperties,
ExpressionEvaluator,
ShowCurrentExecutionLine,
- AddTracepoint,
AddWatch,
StopEvaluation
}
@@ -424,25 +423,6 @@ protected override void Update (CommandInfo info)
}
}
- class AddTracepointHandler: CommandHandler
- {
- protected override void Run ()
- {
- DebuggingService.ShowAddTracepointDialog (
- IdeApp.Workbench.ActiveDocument.FileName,
- IdeApp.Workbench.ActiveDocument.Editor.Caret.Line);
- }
-
- protected override void Update (CommandInfo info)
- {
- info.Visible = DebuggingService.IsFeatureSupported (DebuggerFeatures.Tracepoints);
- info.Enabled = IdeApp.Workbench.ActiveDocument != null &&
- IdeApp.Workbench.ActiveDocument.Editor != null &&
- IdeApp.Workbench.ActiveDocument.FileName != FilePath.Null &&
- !DebuggingService.Breakpoints.IsReadOnly;
- }
- }
-
class EnableDisableBreakpointHandler: CommandHandler
{
protected override void Run ()
Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs
===================================================================
@@ -225,20 +225,6 @@ public static bool ShowBreakpointProperties (ref BreakEvent bp)
}
}
- public static void ShowAddTracepointDialog (string file, int line)
- {
- AddTracePointDialog dlg = new AddTracePointDialog ();
- if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok && dlg.Text.Length > 0) {
- Breakpoint bp = new Breakpoint (file, line);
- bp.HitAction = HitAction.PrintExpression;
- bp.TraceExpression = dlg.Text;
- bp.ConditionExpression = dlg.Condition;
- lock (breakpoints)
- breakpoints.Add (bp);
- }
- dlg.Destroy ();
- }
-
public static void AddWatch (string expression)
{
Pad pad = IdeApp.Workbench.GetPad<WatchPad> ();
Removed: main/src/addins/MonoDevelop.Debugger/gtk-gui/MonoDevelop.Debugger.AddTracePointDialog.cs
===================================================================
@@ -1,168 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace MonoDevelop.Debugger
-{
- public partial class AddTracePointDialog
- {
- private global::Gtk.VBox vbox2;
- private global::Gtk.Table table1;
- private global::Gtk.Entry entryCondition;
- private global::Gtk.Entry entryTrace;
- private global::Gtk.Label label1;
- private global::Gtk.Label label2;
- private global::Gtk.Label label3;
- private global::Gtk.Label label4;
- private global::Gtk.Button buttonCancel;
- private global::Gtk.Button buttonOk;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget MonoDevelop.Debugger.AddTracePointDialog
- this.Name = "MonoDevelop.Debugger.AddTracePointDialog";
- this.Title = global::Mono.Unix.Catalog.GetString ("Add Tracepoint");
- this.WindowPosition = ((global::Gtk.WindowPosition)(4));
- // Internal child MonoDevelop.Debugger.AddTracePointDialog.VBox
- global::Gtk.VBox w1 = this.VBox;
- w1.Name = "dialog1_VBox";
- w1.BorderWidth = ((uint)(2));
- // Container child dialog1_VBox.Gtk.Box+BoxChild
- this.vbox2 = new global::Gtk.VBox ();
- this.vbox2.Name = "vbox2";
- this.vbox2.Spacing = 6;
- this.vbox2.BorderWidth = ((uint)(6));
- // Container child vbox2.Gtk.Box+BoxChild
- this.table1 = new global::Gtk.Table (((uint)(4)), ((uint)(2)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(6));
- this.table1.ColumnSpacing = ((uint)(6));
- // Container child table1.Gtk.Table+TableChild
- this.entryCondition = new global::Gtk.Entry ();
- this.entryCondition.CanFocus = true;
- this.entryCondition.Name = "entryCondition";
- this.entryCondition.IsEditable = true;
- this.entryCondition.ActivatesDefault = true;
- this.entryCondition.InvisibleChar = '●';
- this.table1.Add (this.entryCondition);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.entryCondition]));
- w2.TopAttach = ((uint)(2));
- w2.BottomAttach = ((uint)(3));
- w2.LeftAttach = ((uint)(1));
- w2.RightAttach = ((uint)(2));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.entryTrace = new global::Gtk.Entry ();
- this.entryTrace.CanFocus = true;
- this.entryTrace.Name = "entryTrace";
- this.entryTrace.IsEditable = true;
- this.entryTrace.ActivatesDefault = true;
- this.entryTrace.InvisibleChar = '●';
- this.table1.Add (this.entryTrace);
- global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.entryTrace]));
- w3.LeftAttach = ((uint)(1));
- w3.RightAttach = ((uint)(2));
- w3.XOptions = ((global::Gtk.AttachOptions)(4));
- w3.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.label1.Xalign = 0F;
- this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Trace Text:");
- this.table1.Add (this.label1);
- global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.label1]));
- w4.XOptions = ((global::Gtk.AttachOptions)(4));
- w4.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.Xalign = 0F;
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Condition:");
- this.table1.Add (this.label2);
- global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2]));
- w5.TopAttach = ((uint)(2));
- w5.BottomAttach = ((uint)(3));
- w5.XOptions = ((global::Gtk.AttachOptions)(4));
- w5.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label3 = new global::Gtk.Label ();
- this.label3.WidthRequest = 450;
- this.label3.Name = "label3";
- this.label3.Xalign = 0F;
- this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("<small>Expressions to be evaluated by the debugger can be included in the text by surrounding them with curly braces, for example: \"Value is {n}\".</small>");
- this.label3.UseMarkup = true;
- this.label3.Wrap = true;
- this.table1.Add (this.label3);
- global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.label3]));
- w6.TopAttach = ((uint)(1));
- w6.BottomAttach = ((uint)(2));
- w6.LeftAttach = ((uint)(1));
- w6.RightAttach = ((uint)(2));
- w6.XOptions = ((global::Gtk.AttachOptions)(4));
- w6.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label4 = new global::Gtk.Label ();
- this.label4.WidthRequest = 450;
- this.label4.Name = "label4";
- this.label4.Xalign = 0F;
- this.label4.LabelProp = global::Mono.Unix.Catalog.GetString ("<small>When set, the text will be printed only when this condition evaluates to true.</small>");
- this.label4.UseMarkup = true;
- this.label4.Wrap = true;
- this.table1.Add (this.label4);
- global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 [this.label4]));
- w7.TopAttach = ((uint)(3));
- w7.BottomAttach = ((uint)(4));
- w7.LeftAttach = ((uint)(1));
- w7.RightAttach = ((uint)(2));
- w7.XOptions = ((global::Gtk.AttachOptions)(4));
- w7.YOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox2.Add (this.table1);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.table1]));
- w8.Position = 0;
- w8.Expand = false;
- w8.Fill = false;
- w1.Add (this.vbox2);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox2]));
- w9.Position = 0;
- w9.Expand = false;
- w9.Fill = false;
- // Internal child MonoDevelop.Debugger.AddTracePointDialog.ActionArea
- global::Gtk.HButtonBox w10 = this.ActionArea;
- w10.Name = "dialog1_ActionArea";
- w10.Spacing = 10;
- w10.BorderWidth = ((uint)(5));
- w10.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonCancel = new global::Gtk.Button ();
- this.buttonCancel.CanFocus = true;
- this.buttonCancel.Name = "buttonCancel";
- this.buttonCancel.UseStock = true;
- this.buttonCancel.UseUnderline = true;
- this.buttonCancel.Label = "gtk-cancel";
- this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w11 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w10 [this.buttonCancel]));
- w11.Expand = false;
- w11.Fill = false;
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonOk = new global::Gtk.Button ();
- this.buttonOk.CanDefault = true;
- this.buttonOk.CanFocus = true;
- this.buttonOk.Name = "buttonOk";
- this.buttonOk.UseStock = true;
- this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = "gtk-ok";
- this.AddActionWidget (this.buttonOk, -5);
- global::Gtk.ButtonBox.ButtonBoxChild w12 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w10 [this.buttonOk]));
- w12.Position = 1;
- w12.Expand = false;
- w12.Fill = false;
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.DefaultWidth = 540;
- this.DefaultHeight = 208;
- this.buttonOk.HasDefault = true;
- this.Hide ();
- }
- }
-}
Removed: main/src/addins/MonoDevelop.Debugger/gtk-gui/MonoDevelop.Debugger.ExceptionsDialog.cs
===================================================================
@@ -1,229 +0,0 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace MonoDevelop.Debugger
-{
- public partial class ExceptionsDialog
- {
- private global::Gtk.HBox hbox1;
- private global::Gtk.VBox vbox4;
- private global::Gtk.Label label2;
- private global::Gtk.HBox hbox2;
- private global::Gtk.Image image15;
- private global::Gtk.Entry entryFilter;
- private global::Gtk.ScrolledWindow GtkScrolledWindow;
- private global::Gtk.TreeView treeExceptions;
- private global::Gtk.VBox vbox3;
- private global::Gtk.Label label1;
- private global::Gtk.Button buttonAdd;
- private global::Gtk.Button buttonRemove;
- private global::Gtk.Label label4;
- private global::Gtk.VBox vbox5;
- private global::Gtk.Label label3;
- private global::Gtk.ScrolledWindow GtkScrolledWindow1;
- private global::Gtk.TreeView treeSelected;
- private global::Gtk.Button buttonCancel;
- private global::Gtk.Button buttonOk;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget MonoDevelop.Debugger.ExceptionsDialog
- this.Name = "MonoDevelop.Debugger.ExceptionsDialog";
- this.Title = global::Mono.Unix.Catalog.GetString ("Exceptions");
- this.WindowPosition = ((global::Gtk.WindowPosition)(4));
- this.BorderWidth = ((uint)(3));
- // Internal child MonoDevelop.Debugger.ExceptionsDialog.VBox
- global::Gtk.VBox w1 = this.VBox;
- w1.Name = "dialog1_VBox";
- w1.BorderWidth = ((uint)(2));
- // Container child dialog1_VBox.Gtk.Box+BoxChild
- this.hbox1 = new global::Gtk.HBox ();
- this.hbox1.Name = "hbox1";
- this.hbox1.Spacing = 6;
- this.hbox1.BorderWidth = ((uint)(9));
- // Container child hbox1.Gtk.Box+BoxChild
- this.vbox4 = new global::Gtk.VBox ();
- this.vbox4.Name = "vbox4";
- this.vbox4.Spacing = 6;
- // Container child vbox4.Gtk.Box+BoxChild
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.Xalign = 0F;
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Exceptions:");
- this.vbox4.Add (this.label2);
- global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.label2]));
- w2.Position = 0;
- w2.Expand = false;
- w2.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.hbox2 = new global::Gtk.HBox ();
- this.hbox2.Name = "hbox2";
- this.hbox2.Spacing = 6;
- // Container child hbox2.Gtk.Box+BoxChild
- this.image15 = new global::Gtk.Image ();
- this.image15.Name = "image15";
- this.image15.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-find", global::Gtk.IconSize.Menu);
- this.hbox2.Add (this.image15);
- global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.image15]));
- w3.Position = 0;
- w3.Expand = false;
- w3.Fill = false;
- // Container child hbox2.Gtk.Box+BoxChild
- this.entryFilter = new global::Gtk.Entry ();
- this.entryFilter.CanFocus = true;
- this.entryFilter.Name = "entryFilter";
- this.entryFilter.IsEditable = true;
- this.entryFilter.InvisibleChar = '●';
- this.hbox2.Add (this.entryFilter);
- global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.entryFilter]));
- w4.Position = 1;
- this.vbox4.Add (this.hbox2);
- global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.hbox2]));
- w5.Position = 1;
- w5.Expand = false;
- w5.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.GtkScrolledWindow = new global::Gtk.ScrolledWindow ();
- this.GtkScrolledWindow.Name = "GtkScrolledWindow";
- this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child GtkScrolledWindow.Gtk.Container+ContainerChild
- this.treeExceptions = new global::Gtk.TreeView ();
- this.treeExceptions.CanFocus = true;
- this.treeExceptions.Name = "treeExceptions";
- this.treeExceptions.HeadersVisible = false;
- this.GtkScrolledWindow.Add (this.treeExceptions);
- this.vbox4.Add (this.GtkScrolledWindow);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.GtkScrolledWindow]));
- w7.Position = 2;
- this.hbox1.Add (this.vbox4);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox4]));
- w8.Position = 0;
- // Container child hbox1.Gtk.Box+BoxChild
- this.vbox3 = new global::Gtk.VBox ();
- this.vbox3.Name = "vbox3";
- this.vbox3.Spacing = 12;
- // Container child vbox3.Gtk.Box+BoxChild
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.vbox3.Add (this.label1);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.label1]));
- w9.Position = 0;
- // Container child vbox3.Gtk.Box+BoxChild
- this.buttonAdd = new global::Gtk.Button ();
- this.buttonAdd.CanFocus = true;
- this.buttonAdd.Name = "buttonAdd";
- this.buttonAdd.UseUnderline = true;
- global::Gtk.Image w10 = new global::Gtk.Image ();
- w10.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-forward", global::Gtk.IconSize.Menu);
- this.buttonAdd.Image = w10;
- this.vbox3.Add (this.buttonAdd);
- global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.buttonAdd]));
- w11.Position = 1;
- w11.Expand = false;
- w11.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.buttonRemove = new global::Gtk.Button ();
- this.buttonRemove.CanFocus = true;
- this.buttonRemove.Name = "buttonRemove";
- this.buttonRemove.UseUnderline = true;
- global::Gtk.Image w12 = new global::Gtk.Image ();
- w12.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-back", global::Gtk.IconSize.Menu);
- this.buttonRemove.Image = w12;
- this.vbox3.Add (this.buttonRemove);
- global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.buttonRemove]));
- w13.Position = 2;
- w13.Expand = false;
- w13.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.label4 = new global::Gtk.Label ();
- this.label4.Name = "label4";
- this.vbox3.Add (this.label4);
- global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.label4]));
- w14.Position = 3;
- this.hbox1.Add (this.vbox3);
- global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3]));
- w15.Position = 1;
- w15.Expand = false;
- w15.Fill = false;
- // Container child hbox1.Gtk.Box+BoxChild
- this.vbox5 = new global::Gtk.VBox ();
- this.vbox5.Name = "vbox5";
- this.vbox5.Spacing = 6;
- // Container child vbox5.Gtk.Box+BoxChild
- this.label3 = new global::Gtk.Label ();
- this.label3.Name = "label3";
- this.label3.Xalign = 0F;
- this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("Stop in exceptions:");
- this.vbox5.Add (this.label3);
- global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.label3]));
- w16.Position = 0;
- w16.Expand = false;
- w16.Fill = false;
- // Container child vbox5.Gtk.Box+BoxChild
- this.GtkScrolledWindow1 = new global::Gtk.ScrolledWindow ();
- this.GtkScrolledWindow1.Name = "GtkScrolledWindow1";
- this.GtkScrolledWindow1.ShadowType = ((global::Gtk.ShadowType)(1));
- // Container child GtkScrolledWindow1.Gtk.Container+ContainerChild
- this.treeSelected = new global::Gtk.TreeView ();
- this.treeSelected.CanFocus = true;
- this.treeSelected.Name = "treeSelected";
- this.treeSelected.HeadersVisible = false;
- this.GtkScrolledWindow1.Add (this.treeSelected);
- this.vbox5.Add (this.GtkScrolledWindow1);
- global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.GtkScrolledWindow1]));
- w18.Position = 1;
- this.hbox1.Add (this.vbox5);
- global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox5]));
- w19.Position = 2;
- w1.Add (this.hbox1);
- global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(w1 [this.hbox1]));
- w20.Position = 0;
- // Internal child MonoDevelop.Debugger.ExceptionsDialog.ActionArea
- global::Gtk.HButtonBox w21 = this.ActionArea;
- w21.Name = "dialog1_ActionArea";
- w21.Spacing = 6;
- w21.BorderWidth = ((uint)(5));
- w21.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonCancel = new global::Gtk.Button ();
- this.buttonCancel.CanDefault = true;
- this.buttonCancel.CanFocus = true;
- this.buttonCancel.Name = "buttonCancel";
- this.buttonCancel.UseStock = true;
- this.buttonCancel.UseUnderline = true;
- this.buttonCancel.Label = "gtk-cancel";
- this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w22 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w21 [this.buttonCancel]));
- w22.Expand = false;
- w22.Fill = false;
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonOk = new global::Gtk.Button ();
- this.buttonOk.CanDefault = true;
- this.buttonOk.CanFocus = true;
- this.buttonOk.Name = "buttonOk";
- this.buttonOk.UseStock = true;
- this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = "gtk-ok";
- this.AddActionWidget (this.buttonOk, -5);
- global::Gtk.ButtonBox.ButtonBoxChild w23 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w21 [this.buttonOk]));
- w23.Position = 1;
- w23.Expand = false;
- w23.Fill = false;
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.DefaultWidth = 910;
- this.DefaultHeight = 451;
- this.Hide ();
- this.entryFilter.Changed += new global::System.EventHandler (this.OnEntryFilterChanged);
- this.entryFilter.Activated += new global::System.EventHandler (this.OnEntryFilterActivated);
- this.treeExceptions.KeyPressEvent += new global::Gtk.KeyPressEventHandler (this.OnTreeExceptionsKeyPressEvent);
- this.treeExceptions.ButtonPressEvent += new global::Gtk.ButtonPressEventHandler (this.OnTreeExceptionsButtonPressEvent);
- this.buttonAdd.Clicked += new global::System.EventHandler (this.OnButtonAddClicked);
- this.buttonRemove.Clicked += new global::System.EventHandler (this.OnButtonRemoveClicked);
- this.treeSelected.KeyPressEvent += new global::Gtk.KeyPressEventHandler (this.OnTreeSelectedKeyPressEvent);
- this.treeSelected.ButtonPressEvent += new global::Gtk.ButtonPressEventHandler (this.OnTreeSelectedButtonPressEvent);
- this.buttonOk.Clicked += new global::System.EventHandler (this.OnButtonOkClicked);
- }
- }
-}
Modified: main/src/addins/MonoDevelop.Debugger/gtk-gui/gui.stetic
===================================================================
@@ -168,263 +168,6 @@
</widget>
</child>
</widget>
- <widget class="Gtk.Dialog" id="MonoDevelop.Debugger.ExceptionsDialog" design-size="910 451">
- <property name="MemberName" />
- <property name="Visible">False</property>
- <property name="Title" translatable="yes">Exceptions</property>
- <property name="WindowPosition">CenterOnParent</property>
- <property name="BorderWidth">3</property>
- <property name="Buttons">2</property>
- <property name="HelpButton">False</property>
- <child internal-child="VBox">
- <widget class="Gtk.VBox" id="dialog1_VBox">
- <property name="MemberName" />
- <property name="BorderWidth">2</property>
- <child>
- <widget class="Gtk.HBox" id="hbox1">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">9</property>
- <child>
- <widget class="Gtk.VBox" id="vbox4">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label2">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Exceptions:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.HBox" id="hbox2">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Image" id="image15">
- <property name="MemberName" />
- <property name="Pixbuf">stock:gtk-find Menu</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Entry" id="entryFilter">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="InvisibleChar">●</property>
- <signal name="Changed" handler="OnEntryFilterChanged" />
- <signal name="Activated" handler="OnEntryFilterActivated" />
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
- <property name="MemberName" />
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="treeExceptions">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShowScrollbars">True</property>
- <property name="HeadersVisible">False</property>
- <signal name="KeyPressEvent" handler="OnTreeExceptionsKeyPressEvent" />
- <signal name="ButtonPressEvent" handler="OnTreeExceptionsButtonPressEvent" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">2</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox3">
- <property name="MemberName" />
- <property name="Spacing">12</property>
- <child>
- <widget class="Gtk.Label" id="label1">
- <property name="MemberName" />
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="buttonAdd">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-go-forward Menu</property>
- <property name="Label" translatable="yes" />
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnButtonAddClicked" />
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="buttonRemove">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-go-back Menu</property>
- <property name="Label" translatable="yes" />
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnButtonRemoveClicked" />
- </widget>
- <packing>
- <property name="Position">2</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label4">
- <property name="MemberName" />
- </widget>
- <packing>
- <property name="Position">3</property>
- <property name="AutoSize">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.VBox" id="vbox5">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Stop in exceptions:</property>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow1">
- <property name="MemberName" />
- <property name="ShadowType">In</property>
- <child>
- <widget class="Gtk.TreeView" id="treeSelected">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="ShowScrollbars">True</property>
- <property name="HeadersVisible">False</property>
- <signal name="KeyPressEvent" handler="OnTreeSelectedKeyPressEvent" />
- <signal name="ButtonPressEvent" handler="OnTreeSelectedButtonPressEvent" />
- </widget>
- </child>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="AutoSize">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">2</property>
- <property name="AutoSize">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- </packing>
- </child>
- </widget>
- </child>
- <child internal-child="ActionArea">
- <widget class="Gtk.HButtonBox" id="dialog1_ActionArea">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">5</property>
- <property name="Size">2</property>
- <property name="LayoutStyle">End</property>
- <child>
- <widget class="Gtk.Button" id="buttonCancel">
- <property name="MemberName" />
- <property name="CanDefault">True</property>
- <property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-cancel</property>
- <property name="ResponseId">-6</property>
- <property name="label">gtk-cancel</property>
- </widget>
- <packing>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="buttonOk">
- <property name="MemberName" />
- <property name="CanDefault">True</property>
- <property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-ok</property>
- <property name="ResponseId">-5</property>
- <signal name="Clicked" handler="OnButtonOkClicked" />
- <property name="label">gtk-ok</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
<widget class="Gtk.Dialog" id="MonoDevelop.Debugger.ExpressionEvaluatorDialog" design-size="716 410">
<property name="MemberName" />
<property name="Visible">False</property>
@@ -1533,230 +1276,6 @@ Break when the hit count is a multiple of</property>
</widget>
</child>
</widget>
- <widget class="Gtk.Dialog" id="MonoDevelop.Debugger.AddTracePointDialog" design-size="540 208">
- <property name="MemberName" />
- <property name="Visible">False</property>
- <property name="Title" translatable="yes">Add Tracepoint</property>
- <property name="WindowPosition">CenterOnParent</property>
- <property name="Buttons">2</property>
- <property name="HelpButton">False</property>
- <child internal-child="VBox">
- <widget class="Gtk.VBox" id="dialog1_VBox">
- <property name="MemberName" />
- <property name="BorderWidth">2</property>
- <child>
- <widget class="Gtk.VBox" id="vbox2">
- <property name="MemberName" />
- <property name="Spacing">6</property>
- <property name="BorderWidth">6</property>
- <child>
- <widget class="Gtk.Table" id="table1">
- <property name="MemberName" />
- <property name="NRows">4</property>
- <property name="NColumns">2</property>
- <property name="RowSpacing">6</property>
- <property name="ColumnSpacing">6</property>
- <child>
- <placeholder />
- </child>
- <child>
- <placeholder />
- </child>
- <child>
- <widget class="Gtk.Entry" id="entryCondition">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="ActivatesDefault">True</property>
- <property name="InvisibleChar">●</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Entry" id="entryTrace">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="IsEditable">True</property>
- <property name="ActivatesDefault">True</property>
- <property name="InvisibleChar">●</property>
- </widget>
- <packing>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label1">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Trace Text:</property>
- </widget>
- <packing>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label2">
- <property name="MemberName" />
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes">Condition:</property>
- </widget>
- <packing>
- <property name="TopAttach">2</property>
- <property name="BottomAttach">3</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label3">
- <property name="MemberName" />
- <property name="WidthRequest">450</property>
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes"><small>Expressions to be evaluated by the debugger can be included in the text by surrounding them with curly braces, for example: "Value is {n}".</small></property>
- <property name="UseMarkup">True</property>
- <property name="Wrap">True</property>
- </widget>
- <packing>
- <property name="TopAttach">1</property>
- <property name="BottomAttach">2</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Label" id="label4">
- <property name="MemberName" />
- <property name="WidthRequest">450</property>
- <property name="Xalign">0</property>
- <property name="LabelProp" translatable="yes"><small>When set, the text will be printed only when this condition evaluates to true.</small></property>
- <property name="UseMarkup">True</property>
- <property name="Wrap">True</property>
- </widget>
- <packing>
- <property name="TopAttach">3</property>
- <property name="BottomAttach">4</property>
- <property name="LeftAttach">1</property>
- <property name="RightAttach">2</property>
- <property name="AutoSize">True</property>
- <property name="XOptions">Fill</property>
- <property name="YOptions">Fill</property>
- <property name="XExpand">False</property>
- <property name="XFill">True</property>
- <property name="XShrink">False</property>
- <property name="YExpand">False</property>
- <property name="YFill">True</property>
- <property name="YShrink">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">False</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- <child internal-child="ActionArea">
- <widget class="Gtk.HButtonBox" id="dialog1_ActionArea">
- <property name="MemberName" />
- <property name="Spacing">10</property>
- <property name="BorderWidth">5</property>
- <property name="Size">2</property>
- <property name="LayoutStyle">End</property>
- <child>
- <widget class="Gtk.Button" id="buttonCancel">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-cancel</property>
- <property name="ResponseId">-6</property>
- <property name="label">gtk-cancel</property>
- </widget>
- <packing>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="buttonOk">
- <property name="MemberName" />
- <property name="CanDefault">True</property>
- <property name="HasDefault">True</property>
- <property name="CanFocus">True</property>
- <property name="UseStock">True</property>
- <property name="Type">StockItem</property>
- <property name="StockId">gtk-ok</property>
- <property name="ResponseId">-5</property>
- <property name="label">gtk-ok</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
<widget class="Gtk.Bin" id="MonoDevelop.Debugger.ExceptionCaughtWidget" design-size="612 362">
<property name="MemberName" />
<property name="Visible">False</property>
Commit: ffd1333594f628e40338d73b2ec157cc64c4de4b
Author: Ungureanu Marius <[email protected]> (Therzok)
Date: 2013-10-19 17:42:01 GMT
URL: https://github.com/mono/monodevelop/commit/ffd1333594f628e40338d73b2ec157cc64c4de4b
Update debugger libs
Changed paths:
M main/external/debugger-libs
Modified: main/external/debugger-libs
===================================================================
@@ -1 +1 @@
-Subproject commit 6dea7fa5220567b97b421143c3145aff68ed2667
+Subproject commit 921f0a7ee4516236998f825403c89484cca97649
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches