diff options
Diffstat (limited to 'scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelDescriptorEditorSupport.java')
-rw-r--r-- | scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelDescriptorEditorSupport.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelDescriptorEditorSupport.java b/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelDescriptorEditorSupport.java index 00402b93409d..c4378ceff24d 100644 --- a/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelDescriptorEditorSupport.java +++ b/scripting/java/org/openoffice/netbeans/modules/office/actions/ParcelDescriptorEditorSupport.java @@ -32,7 +32,8 @@ import org.openoffice.netbeans.modules.office.loader.ParcelDescriptorDataObject; /** Support for editing a data object as text. */ // Replace OpenCookie with EditCookie or maybe ViewCookie as desired: -public class ParcelDescriptorEditorSupport extends DataEditorSupport implements EditorCookie, OpenCookie, CloseCookie, PrintCookie { +public class ParcelDescriptorEditorSupport extends DataEditorSupport implements + EditorCookie, OpenCookie, CloseCookie, PrintCookie { /** Create a new editor support. * @param obj the data object whose primary file will be edited as text @@ -51,12 +52,15 @@ public class ParcelDescriptorEditorSupport extends DataEditorSupport implements if (!super.notifyModified()) { return false; } + ParcelDescriptorDataObject obj = (ParcelDescriptorDataObject)getDataObject(); + if (obj.getCookie(SaveCookie.class) == null) { obj.setModified(true); // You must implement this method on the object: obj.addSaveCookie(new Save()); } + return true; } @@ -66,11 +70,13 @@ public class ParcelDescriptorEditorSupport extends DataEditorSupport implements protected void notifyUnmodified() { ParcelDescriptorDataObject obj = (ParcelDescriptorDataObject)getDataObject(); SaveCookie save = (SaveCookie)obj.getCookie(SaveCookie.class); + if (save != null) { // You must implement this method on the object: obj.removeSaveCookie(save); obj.setModified(false); } + super.notifyUnmodified(); } @@ -111,7 +117,8 @@ public class ParcelDescriptorEditorSupport extends DataEditorSupport implements * @throws IOException if the lock could not be taken */ protected FileLock takeLock() throws IOException { - return ((ParcelDescriptorDataObject)getDataObject()).getPrimaryEntry().takeLock(); + return ((ParcelDescriptorDataObject) + getDataObject()).getPrimaryEntry().takeLock(); } /** Find the editor support this environment represents. @@ -120,7 +127,8 @@ public class ParcelDescriptorEditorSupport extends DataEditorSupport implements * @return the editor support */ public CloneableOpenSupport findCloneableOpenSupport() { - return (ParcelDescriptorEditorSupport)getDataObject().getCookie(ParcelDescriptorEditorSupport.class); + return (ParcelDescriptorEditorSupport)getDataObject().getCookie( + ParcelDescriptorEditorSupport.class); } } |