Domanda

Netbeans utilizza API UndoManager standard per la realizzazione di funzionalità di undo. Ma né javax.swing.undo.UndoManager di serie né org.openide.awt.UndoRedo.Manager non ha alcun metodo per contrassegnare gli stati come salvato e verificare lo stato modificato. Tuttavia, se si modifica il file e premere annullare, il file è contrassegnato come non modificato. Come hanno fatto? Ho bisogno la stessa funzionalità per la mia (non di testo) i redattori se l'applicazione Netbeans RCP.

È stato utile?

Soluzione

ho capito questo fuori. Il CloneableEditSupport aggiunge UndoableEdit quando qualcuno salva il file. Questa modifica segnali quando qualcuno annullamenti dallo stato salvato o redos allo stato salvato. Inoltre avvolge prossimi modifiche (fino al primo significativo) per intercettare redos dallo stato salvato e annullamenti per lo stato salvato.

Questo trucco funziona solo se tutti i UndoableEdits generate sono significativi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top