Skip to content

Commit 130711f

Browse files
committed
Should be installable as a visualizer, but it doesn't work for me.
1 parent 2e9470c commit 130711f

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

src/Magnum.RulesEngine.Visualizers/Properties/AssemblyInfo.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,9 @@
1313
using System.Diagnostics;
1414
using Magnum.RulesEngine;
1515
using Magnum.RulesEngine.Visualizers;
16+
using Microsoft.VisualStudio.DebuggerVisualizers;
1617

17-
[assembly : DebuggerVisualizer(typeof (RulesEngineDebugVisualizer), Target = typeof (RulesEngine), Description = "Stream Visualizer")]
18+
[assembly : DebuggerVisualizer(typeof (RulesEngineDebugVisualizer),
19+
typeof (VisualizerObjectSource),
20+
Target = typeof (RulesEngine),
21+
Description = "Rules Engine Graph Visualizer")]

src/Magnum.RulesEngine.Visualizers/RulesEngineDebugVisualizer.cs

+13-8
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,29 @@
1212
// specific language governing permissions and limitations under the License.
1313
namespace Magnum.RulesEngine.Visualizers
1414
{
15-
using System.Diagnostics;
15+
using System;
16+
using System.Windows.Forms;
1617
using Microsoft.VisualStudio.DebuggerVisualizers;
1718

19+
[Serializable]
1820
public class RulesEngineDebugVisualizer :
1921
DialogDebuggerVisualizer
2022
{
2123
protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
2224
{
23-
var data = objectProvider.GetObject() as RulesEngine;
24-
if (data == null)
25+
try
2526
{
26-
Trace.WriteLine("Unable to display rules engine visualizer");
27-
return;
28-
}
27+
var engine = (RulesEngine) objectProvider.GetObject();
2928

30-
using (var form = new RulesEngineVisualizerForm(data))
29+
using (var form = new RulesEngineVisualizerForm(engine))
30+
{
31+
windowService.ShowDialog(form);
32+
}
33+
}
34+
catch (InvalidCastException)
3135
{
32-
windowService.ShowDialog(form);
36+
MessageBox.Show("The selected data is not of a type compatible with this visualizer.",
37+
GetType().ToString());
3338
}
3439
}
3540

0 commit comments

Comments
 (0)