? openide/loaders/src/org/openide/text/TestProvider.java ? openide/src/org/openide/text/AnnotationProvider.java Index: openide/loaders/src/org/openide/text/DataEditorSupport.java =================================================================== RCS file: /cvs/openide/loaders/src/org/openide/text/DataEditorSupport.java,v retrieving revision 1.14 diff -u -r1.14 DataEditorSupport.java --- openide/loaders/src/org/openide/text/DataEditorSupport.java 10 Mar 2004 13:48:36 -0000 1.14 +++ openide/loaders/src/org/openide/text/DataEditorSupport.java 22 Apr 2004 12:18:36 -0000 @@ -51,7 +51,8 @@ * @param env environment to pass to */ public DataEditorSupport (DataObject obj, CloneableEditorSupport.Env env) { - super (env, org.openide.util.lookup.Lookups.singleton (obj)); + super (env, org.openide.util.lookup.Lookups.fixed ( + new Object[] {obj, obj.getPrimaryFile()})); this.obj = obj; } Index: openide/src/org/openide/text/CloneableEditor.java =================================================================== RCS file: /cvs/openide/src/org/openide/text/CloneableEditor.java,v retrieving revision 1.69 diff -u -r1.69 CloneableEditor.java --- openide/src/org/openide/text/CloneableEditor.java 13 Feb 2004 10:20:29 -0000 1.69 +++ openide/src/org/openide/text/CloneableEditor.java 22 Apr 2004 12:18:36 -0000 @@ -212,6 +212,8 @@ caret.setDot(cursorPosition); } } + + support.ensureAnnotationsLoaded(); } protected CloneableTopComponent createClonedObject() { Index: openide/src/org/openide/text/CloneableEditorSupport.java =================================================================== RCS file: /cvs/openide/src/org/openide/text/CloneableEditorSupport.java,v retrieving revision 1.120 diff -u -r1.120 CloneableEditorSupport.java --- openide/src/org/openide/text/CloneableEditorSupport.java 15 Mar 2004 16:11:25 -0000 1.120 +++ openide/src/org/openide/text/CloneableEditorSupport.java 22 Apr 2004 12:18:37 -0000 @@ -286,6 +286,20 @@ return positionManager; } + + private boolean annotationsLoaded; + + void ensureAnnotationsLoaded() { + if (!annotationsLoaded) { + annotationsLoaded = true; + Line.Set lines = getLineSet(); + Lookup.Result result = Lookup.getDefault().lookup(new Lookup.Template(AnnotationProvider.class)); + for (Iterator it = result.allInstances().iterator(); it.hasNext(); ) { + AnnotationProvider act = (AnnotationProvider)it.next(); + act.annotate(lines, lookup); + } + } + } /** Overrides superclass method, first processes document preparation. * @see #prepareDocument */