Author: mkrueger
Date: 2008-02-03 12:28:51 -0500 (Sun, 03 Feb 2008)
New Revision: 94701

Modified:
   trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/ChangeLog
   
trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs
Log:
* MonoDevelop.SourceEditor/SourceEditorWidget.cs: Filtered out body
  less methods in folding (abstract methods,  methods declared in
  interfaces).

Modified: trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/ChangeLog       
2008-02-03 17:17:54 UTC (rev 94700)
+++ trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/ChangeLog       
2008-02-03 17:28:51 UTC (rev 94701)
@@ -1,5 +1,10 @@
 2008-02-03  Mike Krüger <[EMAIL PROTECTED]> 
 
+       * MonoDevelop.SourceEditor/SourceEditorWidget.cs: Filtered out body less
+         methods in folding (abstract methods,  methods declared in 
interfaces).
+
+2008-02-03  Mike Krüger <[EMAIL PROTECTED]> 
+
        * MonoDevelop.SourceEditor/SourceEditorView.cs: Comment/Uncomment and
          Indent/Unindent commands should now work as expected.
 

Modified: 
trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs
  2008-02-03 17:17:54 UTC (rev 94700)
+++ 
trunk/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs
  2008-02-03 17:28:51 UTC (rev 94701)
@@ -176,14 +176,15 @@
                
                void AddClass (List<FoldSegment> foldSegments, IClass cl)
                {
-                       if (cl.BodyRegion != null)
+                       if (cl.Region != null)
                                AddMarker (foldSegments, "...", cl.BodyRegion);
                        foreach (IClass inner in cl.InnerClasses) {
                                AddClass (foldSegments, inner);
                        }
-                       
+                       if (cl.ClassType == ClassType.Interface)
+                               return;
                        foreach (IMethod method in cl.Methods) {
-                               if (method.Region == null || method.BodyRegion 
== null)
+                               if (method.Region == null || method.BodyRegion 
== null || method.BodyRegion.EndLine <= 0)
                                        continue;
                                int startOffset = 
this.TextEditor.Document.LocationToOffset (method.Region.EndLine - 1,  
method.Region.EndColumn - 1);
                                int endOffset   = 
this.TextEditor.Document.LocationToOffset (method.BodyRegion.EndLine - 1,  
method.BodyRegion.EndColumn - 1);
@@ -191,7 +192,7 @@
                        }
                        
                        foreach (IProperty property in cl.Properties) {
-                               if (property.Region == null 
|| property.BodyRegion == null)
+                               if (property.Region == null 
|| property.BodyRegion == null || property.BodyRegion.EndLine <= 0)
                                        continue;
                                int startOffset = 
this.TextEditor.Document.LocationToOffset (property.Region.EndLine - 1,  
property.Region.EndColumn - 1);
                                int endOffset   = 
this.TextEditor.Document.LocationToOffset (property.BodyRegion.EndLine - 1,  
property.BodyRegion.EndColumn - 1);

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

Reply via email to