Author: spouliot
Date: 2007-06-28 22:33:58 -0400 (Thu, 28 Jun 2007)
New Revision: 81020

Modified:
   trunk/cecil/monoxide/Monoxide.Metadata/AssemblyDependenciesVisualizer.cs
   trunk/cecil/monoxide/Monoxide.Metadata/ChangeLog
Log:
2007-06-28  Sebastien Pouliot  <[EMAIL PROTECTED]> 

        * AssemblyDependenciesVisualizer.cs: Implement refresh, i.e. if some 
        assemblies are loaded after the original graph it will be possible to
        refresh it (menu/toolbar) with the new available information.



Modified: 
trunk/cecil/monoxide/Monoxide.Metadata/AssemblyDependenciesVisualizer.cs
===================================================================
--- trunk/cecil/monoxide/Monoxide.Metadata/AssemblyDependenciesVisualizer.cs    
2007-06-29 02:31:10 UTC (rev 81019)
+++ trunk/cecil/monoxide/Monoxide.Metadata/AssemblyDependenciesVisualizer.cs    
2007-06-29 02:33:58 UTC (rev 81020)
@@ -32,6 +32,7 @@
 
 using Mono.Addins;
 using Mono.Cecil;
+using Monoxide.Framework;
 using Monoxide.Framework.Addins;
 using Monoxide.Framework.Dot;
 
@@ -46,6 +47,9 @@
                private Dictionary<string,List<AssemblyNameReference>> clusters 
= new Dictionary<string,List<AssemblyNameReference>> ();
                private List<string> partial_trust_callers = new List<string> 
();
                private List<string> trusted_callers = new List<string> ();
+               
+               private AssemblyDefinition assembly;
+               private Image image;
 
                public string Name {
                        get { return "Assembly Dependencies"; }
@@ -60,16 +64,27 @@
 
                public Widget GetWidget (AssemblyDefinition assembly)
                {
+                       this.assembly = assembly;
                        Digraph digraph = GetDotData (assembly);
 
-                       Image image = new Image (DotHelper.BuildDotImage 
(digraph));
+                       image = new Image (DotHelper.BuildDotImage (digraph));
 
-                       ScrolledWindow sw = new ScrolledWindow ();
+                       AddinScrolledWindow sw = new AddinScrolledWindow ();
                        sw.AddWithViewport (image);
                        sw.ShowAll ();
+                       sw.OnRefresh += delegate  {
+                               Console.WriteLine ("***REFRESH***");
+                               Refresh ();
+                       };
                        return sw;
                }
 
+               public void Refresh ()
+               {
+                       Digraph digraph = GetDotData (assembly);
+                       image.FromFile = DotHelper.BuildDotImage (digraph);
+               }
+
                AssemblyDefinition GetAssemblyFromReference 
(AssemblyNameReference assemblyName)
                {
                        if (assemblies == null)

Modified: trunk/cecil/monoxide/Monoxide.Metadata/ChangeLog
===================================================================
--- trunk/cecil/monoxide/Monoxide.Metadata/ChangeLog    2007-06-29 02:31:10 UTC 
(rev 81019)
+++ trunk/cecil/monoxide/Monoxide.Metadata/ChangeLog    2007-06-29 02:33:58 UTC 
(rev 81020)
@@ -1,3 +1,9 @@
+2007-06-28  Sebastien Pouliot  <[EMAIL PROTECTED]> 
+
+       * AssemblyDependenciesVisualizer.cs: Implement refresh, i.e. if some 
+       assemblies are loaded after the original graph it will be possible to
+       refresh it (menu/toolbar) with the new available information.
+
 2007-06-28  Sebastien Pouliot  <[EMAIL PROTECTED]>
 
        * AssemblyDependenciesVisualizer.cs, DeclarativeSecurityVisualizer.cs: 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to