*** empty log message ***
authoraxelcl <axelcl>
Thu, 5 May 2005 19:08:50 +0000 (19:08 +0000)
committeraxelcl <axelcl>
Thu, 5 May 2005 19:08:50 +0000 (19:08 +0000)
net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/ui/text/rules/MultiViewPartitioner.java

index 4bd1a6c..17d5156 100644 (file)
@@ -8,7 +8,7 @@
  * Contributors:
  *     Igor Malinin - initial contribution
  * 
- * $Id: MultiViewPartitioner.java,v 1.7 2004-11-13 12:36:32 axelcl Exp $
+ * $Id: MultiViewPartitioner.java,v 1.8 2005-05-05 19:08:50 axelcl Exp $
  */
 
 package net.sourceforge.phpeclipse.ui.text.rules;
@@ -119,16 +119,16 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
       int outerOffset = outerDocument.getLocalOffset(position.offset);
       // axelcl start
       DocumentEvent event = null;
-      if (outerOffset>=0) {
-      // axelcl end
+      if (outerOffset >= 0) {
+        // axelcl end
         event = new DocumentEvent(outerDocument, outerOffset, position.length, null);
 
         outerDocument.fireDocumentAboutToBeChanged(event);
       }
       super.addInnerRegion(position);
-//    axelcl start
+      //    axelcl start
       if (event != null) {
-      // axelcl end
+        // axelcl end
         outerDocument.fireDocumentChanged(event);
       }
     } else {
@@ -301,10 +301,12 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
 
       String text = event.getText();
 
-      if (left != right || text != null && text.length() > 0) {
-        outerDocumentEvent = new DocumentEvent(outerDocument, left, right - left, text);
+      if (left >= 0 && (right - left >= 0)) {
+        if (left != right || text != null && text.length() > 0) {
+          outerDocumentEvent = new DocumentEvent(outerDocument, left, right - left, text);
 
-        outerDocument.fireDocumentAboutToBeChanged(outerDocumentEvent);
+          outerDocument.fireDocumentAboutToBeChanged(outerDocumentEvent);
+        }
       }
     }
   }
@@ -436,13 +438,13 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
    */
   public ITypedRegion[] computePartitioning(int offset, int length) {
     List list = new ArrayList();
-//    if (DEBUG) {
-//      System.out.print("MultiViewPartitioner::computePartitioning - Offset: ");
-//      System.out.print(offset);
-//      System.out.print(", Length: ");
-//      System.out.print(length);
-//      System.out.println("");
-//    }
+    //    if (DEBUG) {
+    //      System.out.print("MultiViewPartitioner::computePartitioning - Offset: ");
+    //      System.out.print(offset);
+    //      System.out.print(", Length: ");
+    //      System.out.print(length);
+    //      System.out.println("");
+    //    }
     int end = offset + length;
 
     int index = computeFlatNodeIndex(offset);
@@ -471,23 +473,23 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
 
       ++index;
     }
-//    if (DEBUG) {
-//      showList(list);
-//    }
-      
+    //    if (DEBUG) {
+    //      showList(list);
+    //    }
+
     return (TypedRegion[]) list.toArray(new TypedRegion[list.size()]);
   }
 
   private void showList(List list) {
-    try { 
+    try {
       throw new NullPointerException();
-    } catch (Exception e){
+    } catch (Exception e) {
       e.printStackTrace();
     }
     System.out.println(">>>>>List start");
     TypedRegion temp;
     for (int i = 0; i < list.size(); i++) {
-      temp = (TypedRegion)list.get(i);
+      temp = (TypedRegion) list.get(i);
       System.out.print("Offset: ");
       System.out.print(temp.getOffset());
       System.out.print(", Length: ");
@@ -498,6 +500,7 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
     }
     System.out.println("<<<<<List end");
   }
+
   private void addOuterPartitions(List list, int offset, int length, FlatNode prev, FlatNode next) {
     // limit region
     int start = offset;
@@ -516,11 +519,11 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
     }
 
     if (outerDocument == null) {
-//      if (DEBUG) {
-//        if (end - start<0) {
-//          throw new IndexOutOfBoundsException();
-//        }
-//      }
+      //      if (DEBUG) {
+      //        if (end - start<0) {
+      //          throw new IndexOutOfBoundsException();
+      //        }
+      //      }
       list.add(new TypedRegion(start, end - start, getContentType(null, IDocument.DEFAULT_CONTENT_TYPE)));
       return;
     }
@@ -552,21 +555,21 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
               end = offset;
             }
           }
-//          if (DEBUG) {
-//            if (end - start<0) {
-//              showList(list);
-//              System.out.print("MultiViewPartitioner::addOuterPartitions - Offset: ");
-//              System.out.print(offset);
-//              System.out.print(", Start: ");
-//              System.out.print(start);
-//              System.out.print(", End: ");
-//              System.out.print(end);
-//              System.out.print(", Type: ");
-//              System.out.print(region.getType());
-//              System.out.println("");
-//              throw new IndexOutOfBoundsException();
-//            }
-//          } 
+          //          if (DEBUG) {
+          //            if (end - start<0) {
+          //              showList(list);
+          //              System.out.print("MultiViewPartitioner::addOuterPartitions - Offset: ");
+          //              System.out.print(offset);
+          //              System.out.print(", Start: ");
+          //              System.out.print(start);
+          //              System.out.print(", End: ");
+          //              System.out.print(end);
+          //              System.out.print(", Type: ");
+          //              System.out.print(region.getType());
+          //              System.out.println("");
+          //              throw new IndexOutOfBoundsException();
+          //            }
+          //          }
           list.add(new TypedRegion(start, end - start, getContentType(null, region.getType())));
         }
       }
@@ -577,17 +580,17 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
   private void addInnerPartitions(List list, int offset, int length, FlatNode position) {
     InnerDocumentView innerDocument = null;
     if (position instanceof ViewNode) {
-      // TODO: revisit condition  
+      // TODO: revisit condition
       innerDocument = ((ViewNode) position).view;
     }
 
     if (innerDocument == null) {
       // simple partition
-//      if (DEBUG) {
-//        if (position.length<0) {
-//          throw new IndexOutOfBoundsException();
-//        }
-//      }
+      //      if (DEBUG) {
+      //        if (position.length<0) {
+      //          throw new IndexOutOfBoundsException();
+      //        }
+      //      }
       list.add(new TypedRegion(position.offset, position.length, getContentType(position.type, null)));
       return;
     }
@@ -610,11 +613,11 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
         // convert back to parent offsets
         offset = innerDocument.getParentOffset(region.getOffset());
         length = region.getLength();
-//        if (DEBUG) {
-//          if (length<0) {
-//            throw new IndexOutOfBoundsException();
-//          }
-//        }
+        //        if (DEBUG) {
+        //          if (length<0) {
+        //            throw new IndexOutOfBoundsException();
+        //          }
+        //        }
         list.add(new TypedRegion(offset, length, getContentType(position.type, region.getType())));
       }
     } catch (BadLocationException x) {
@@ -676,7 +679,7 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
           end = document.getLength();
           type = getContentType(null, IDocument.DEFAULT_CONTENT_TYPE);
         } else {
-//        axelcl end
+          //        axelcl end
           ITypedRegion region = outerDocument.getPartition(outerOffset);
 
           start = region.getOffset();