Mercurial > projects > dwt-addons
diff dwtx/text/undo/DocumentUndoManagerRegistry.d @ 161:f8d52b926852
...
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 27 Aug 2008 14:49:30 +0200 |
parents | f70d9508c95c |
children |
line wrap: on
line diff
--- a/dwtx/text/undo/DocumentUndoManagerRegistry.d Wed Aug 27 02:07:22 2008 +0200 +++ b/dwtx/text/undo/DocumentUndoManagerRegistry.d Wed Aug 27 14:49:30 2008 +0200 @@ -54,7 +54,11 @@ private IDocumentUndoManager undoManager; } - private static Map fgFactory= new HashMap(); + private static Map fgFactory_; + private static Map fgFactory(){ + if( fgFactory_ is null ) fgFactory_ = new HashMap(); + return fgFactory_; + } private this() { // Do not instantiate @@ -71,11 +75,11 @@ * @param document the document to be connected */ public static synchronized void connect(IDocument document) { - Assert.isNotNull(document); - Record record= cast(Record)fgFactory.get(document); + Assert.isNotNull(cast(Object)document); + Record record= cast(Record)fgFactory.get(cast(Object)document); if (record is null) { record= new Record(document); - fgFactory.put(document, record); + fgFactory.put(cast(Object)document, record); } record.count++; } @@ -86,11 +90,11 @@ * @param document the document to be disconnected */ public static synchronized void disconnect(IDocument document) { - Assert.isNotNull(document); - Record record= cast(Record)fgFactory.get(document); + Assert.isNotNull(cast(Object)document); + Record record= cast(Record)fgFactory.get(cast(Object)document); record.count--; if (record.count is 0) - fgFactory.remove(document); + fgFactory.remove(cast(Object)document); } @@ -108,8 +112,8 @@ * @return the document undo manager or <code>null</code> */ public static synchronized IDocumentUndoManager getDocumentUndoManager(IDocument document) { - Assert.isNotNull(document); - Record record= cast(Record)fgFactory.get(document); + Assert.isNotNull(cast(Object)document); + Record record= cast(Record)fgFactory.get(cast(Object)document); if (record is null) return null; return record.undoManager;