Pregunta

Netbeans utiliza API UndoManager estándar para la implementación de la funcionalidad de deshacer. Pero ni javax.swing.undo.UndoManager norma ni org.openide.awt.UndoRedo.Manager no tiene un método para marcar estados como salvado y comprobar el estado modificado. No obstante, si se cambia el archivo y pulse deshacer, el archivo está marcado como sin modificar. ¿Cómo lo hacen? Necesito la misma funcionalidad para mi (no textual) editores si la aplicación Netbeans RCP.

¿Fue útil?

Solución

Me di cuenta de esto. El CloneableEditSupport añade UndoableEdit cuando alguien guarda el archivo. Esta edición de señales cuando alguien Undos desde el estado guardado o rehacer el estado guardado. También se envuelve próximas ediciones (hasta el primero significativo) para interceptar rehacer desde el estado guardado y deshacer al estado guardado.

Este truco sólo funciona si todos UndoableEdits que generan son significativos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top