From 0442fec7c535124fb60f412c9c499ee11eaea5ea Mon Sep 17 00:00:00 2001 From: wuestholz Date: Sun, 14 Jul 2013 17:53:26 -0700 Subject: DafnyExtension: Worked on integrating BVD. --- Source/DafnyMenu/BvdToolWindow.cs | 59 ++++++++++++++++++ Source/DafnyMenu/DafnyMenu.csproj | 22 +++++-- Source/DafnyMenu/DafnyMenu.vsct | 10 ++++ Source/DafnyMenu/DafnyMenuPackage.cs | 106 +++++++++++++++++++++++++-------- Source/DafnyMenu/Guids.cs | 6 ++ Source/DafnyMenu/PkgCmdID.cs | 3 +- Source/DafnyMenu/Resources.Designer.cs | 2 +- Source/DafnyMenu/Resources/Images.png | Bin 989 -> 0 bytes Source/DafnyMenu/Resources/Package.ico | Bin 2998 -> 0 bytes Source/DafnyMenu/VSPackage.resx | 14 ----- 10 files changed, 176 insertions(+), 46 deletions(-) create mode 100644 Source/DafnyMenu/BvdToolWindow.cs delete mode 100644 Source/DafnyMenu/Resources/Images.png delete mode 100644 Source/DafnyMenu/Resources/Package.ico (limited to 'Source/DafnyMenu') diff --git a/Source/DafnyMenu/BvdToolWindow.cs b/Source/DafnyMenu/BvdToolWindow.cs new file mode 100644 index 00000000..0316d558 --- /dev/null +++ b/Source/DafnyMenu/BvdToolWindow.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Windows; +using System.Runtime.InteropServices; +using Microsoft.VisualStudio.Shell.Interop; +using Microsoft.VisualStudio.Shell; + +namespace DafnyLanguage.DafnyMenu +{ + /// + /// This class implements the tool window exposed by this package and hosts a user control. + /// + /// In Visual Studio tool windows are composed of a frame (implemented by the shell) and a pane, + /// usually implemented by the package implementer. + /// + /// This class derives from the ToolWindowPane class provided from the MPF in order to use its + /// implementation of the IVsUIElementPane interface. + /// + [Guid(GuidList.guidToolWindowPersistanceString)] + public class BvdToolWindow : ToolWindowPane + { + private static readonly Lazy bvdInstance = new Lazy(() => new Microsoft.Boogie.ModelViewer.Main(new string[] { }, true)); + + /// + /// Standard constructor for the tool window. + /// + public BvdToolWindow() : + base(null) + { + // Set the window title reading it from the resources. + this.Caption = "Boogie Verification Debugger"; + // Set the image that will appear on the tab of the window frame + // when docked with an other window + // The resource ID correspond to the one defined in the resx file + // while the Index is the offset in the bitmap strip. Each image in + // the strip being 16x16. + // this.BitmapResourceID = 301; + // this.BitmapIndex = 1; + + // This is the user control hosted by the tool window; Note that, even if this class implements IDisposable, + // we are not calling Dispose on this object. This is because ToolWindowPane calls Dispose on + // the object returned by the Content property. + // base.Content = new MyControl(); + } + + public override System.Windows.Forms.IWin32Window Window + { + get { return bvdInstance.Value; } + } + + public static Microsoft.Boogie.ModelViewer.Main BVD + { + get { return bvdInstance.Value; } + } + } +} diff --git a/Source/DafnyMenu/DafnyMenu.csproj b/Source/DafnyMenu/DafnyMenu.csproj index 6cd493c6..7fb6cfab 100644 --- a/Source/DafnyMenu/DafnyMenu.csproj +++ b/Source/DafnyMenu/DafnyMenu.csproj @@ -52,13 +52,23 @@ + + True + + + ..\..\..\boogie\Binaries\ModelViewer.dll + + + + + @@ -72,6 +82,7 @@ + True @@ -92,6 +103,7 @@ true VSPackage + Designer @@ -102,20 +114,18 @@ Menus.ctmenu + Designer - - - - - - {6e9a5e14-0763-471c-a129-80a879d9e7ba} DafnyExtension + + + true diff --git a/Source/DafnyMenu/DafnyMenu.vsct b/Source/DafnyMenu/DafnyMenu.vsct index 5cb2975d..25c8dea9 100644 --- a/Source/DafnyMenu/DafnyMenu.vsct +++ b/Source/DafnyMenu/DafnyMenu.vsct @@ -103,6 +103,15 @@ + + @@ -133,6 +142,7 @@ +