changeset 174:c6d7b1ea700b

First sample running
author Frank Benoit <benoit@tionex.de>
date Thu, 11 Sep 2008 00:32:24 +0200
parents 8995e830f75e
children 9e7e1a8bc813
files dsss.conf dwtx/dwtxhelper/Collection.d dwtx/jface/internal/text/html/HTML2TextReader.d dwtx/jface/text/DefaultDocumentAdapter.d dwtx/jface/text/JFaceTextMessages.d dwtx/jface/text/RegExMessages.d dwtx/jface/text/TextMessages.d dwtx/jface/text/TextViewer.d dwtx/jface/text/contentassist/JFaceTextMessages.d dwtx/jface/text/hyperlink/HyperlinkMessages.d dwtx/jface/text/source/JFaceTextMessages.d dwtx/jface/text/templates/JFaceTextTemplateMessages.d dwtx/jface/text/templates/TextTemplateMessages.d dwtx/jface/text/templates/persistence/TemplatePersistenceMessages.d
diffstat 14 files changed, 183 insertions(+), 680 deletions(-) [+]
line wrap: on
line diff
--- a/dsss.conf	Wed Sep 10 23:17:25 2008 +0200
+++ b/dsss.conf	Thu Sep 11 00:32:24 2008 +0200
@@ -1,7 +1,6 @@
 
 
-[fixmodule.d]
-[collectionimp.d]
+
 [dwtx]
 type=library
 buildflags+=-Jres
@@ -21,3 +20,6 @@
 preinstall = \
     installdir res $LIB_PREFIX/res
 
+[test.d]
+buildflags+=-Jres
+buildflags+=-I../dwt-linux
--- a/dwtx/dwtxhelper/Collection.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/dwtxhelper/Collection.d	Thu Sep 11 00:32:24 2008 +0200
@@ -1921,8 +1921,9 @@
         data.length = size;
         data.length = 0;
     }
-    this(Collection){
-        implMissing( __FILE__, __LINE__ );
+    this(Collection col){
+        this(cast(int)(col.size*1.1));
+        addAll(col);
     }
     void   add(int index, Object element){
         data.length = data.length +1;
@@ -1937,8 +1938,13 @@
         return add(stringcast(o));
     }
     bool    addAll(Collection c){
-        implMissing( __FILE__, __LINE__ );
-        return false;
+        if( c.size() is 0 ) return false;
+        uint idx = data.length;
+        data.length = data.length + c.size();
+        foreach( o; c ){
+            data[ idx++ ] = o;
+        }
+        return true;
     }
     bool    addAll(int index, Collection c){
         implMissing( __FILE__, __LINE__ );
@@ -2113,7 +2119,10 @@
 
     // only for D
     public int opApply (int delegate(ref Object value) dg){
-        implMissing( __FILE__, __LINE__ );
+        foreach( o; data ){
+            auto res = dg( o );
+            if( res ) return res;
+        }
         return 0;
     }
 }
--- a/dwtx/jface/internal/text/html/HTML2TextReader.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/internal/text/html/HTML2TextReader.d	Thu Sep 11 00:32:24 2008 +0200
@@ -40,38 +40,51 @@
 public class HTML2TextReader : SubstitutionTextReader {
 
     private static const String EMPTY_STRING= ""; //$NON-NLS-1$
-    private static const Map fgEntityLookup;
-    private static const Set fgTags;
-
-    static this() {
-
-        fgTags= new HashSet();
-        fgTags.add("b"); //$NON-NLS-1$
-        fgTags.add("br"); //$NON-NLS-1$
-        fgTags.add("br/"); //$NON-NLS-1$
-        fgTags.add("div"); //$NON-NLS-1$
-        fgTags.add("h1"); //$NON-NLS-1$
-        fgTags.add("h2"); //$NON-NLS-1$
-        fgTags.add("h3"); //$NON-NLS-1$
-        fgTags.add("h4"); //$NON-NLS-1$
-        fgTags.add("h5"); //$NON-NLS-1$
-        fgTags.add("p"); //$NON-NLS-1$
-        fgTags.add("dl"); //$NON-NLS-1$
-        fgTags.add("dt"); //$NON-NLS-1$
-        fgTags.add("dd"); //$NON-NLS-1$
-        fgTags.add("li"); //$NON-NLS-1$
-        fgTags.add("ul"); //$NON-NLS-1$
-        fgTags.add("pre"); //$NON-NLS-1$
-        fgTags.add("head"); //$NON-NLS-1$
-
-        fgEntityLookup= new HashMap(7);
-        fgEntityLookup.put("lt", "<"); //$NON-NLS-1$ //$NON-NLS-2$
-        fgEntityLookup.put("gt", ">"); //$NON-NLS-1$ //$NON-NLS-2$
-        fgEntityLookup.put("nbsp", " "); //$NON-NLS-1$ //$NON-NLS-2$
-        fgEntityLookup.put("amp", "&"); //$NON-NLS-1$ //$NON-NLS-2$
-        fgEntityLookup.put("circ", "^"); //$NON-NLS-1$ //$NON-NLS-2$
-        fgEntityLookup.put("tilde", "~"); //$NON-NLS-2$ //$NON-NLS-1$
-        fgEntityLookup.put("quot", "\"");        //$NON-NLS-1$ //$NON-NLS-2$
+    private static Map fgEntityLookup_;
+    private static Set fgTags_;
+    private static Map fgEntityLookup(){
+        if( fgEntityLookup_ is null ){
+            synchronized(HTML2TextReader.classinfo ){
+                if( fgEntityLookup_ is null ){
+                    fgEntityLookup_= new HashMap(7);
+                    fgEntityLookup_.put("lt", "<"); //$NON-NLS-1$ //$NON-NLS-2$
+                    fgEntityLookup_.put("gt", ">"); //$NON-NLS-1$ //$NON-NLS-2$
+                    fgEntityLookup_.put("nbsp", " "); //$NON-NLS-1$ //$NON-NLS-2$
+                    fgEntityLookup_.put("amp", "&"); //$NON-NLS-1$ //$NON-NLS-2$
+                    fgEntityLookup_.put("circ", "^"); //$NON-NLS-1$ //$NON-NLS-2$
+                    fgEntityLookup_.put("tilde", "~"); //$NON-NLS-2$ //$NON-NLS-1$
+                    fgEntityLookup_.put("quot", "\"");        //$NON-NLS-1$ //$NON-NLS-2$
+                }
+            }
+        }
+        return fgEntityLookup_;
+    }
+    private static Set fgTags(){
+        if( fgTags_ is null ){
+            synchronized(HTML2TextReader.classinfo ){
+                if( fgTags_ is null ){
+                    fgTags_= new HashSet();
+                    fgTags_.add("b"); //$NON-NLS-1$
+                    fgTags_.add("br"); //$NON-NLS-1$
+                    fgTags_.add("br/"); //$NON-NLS-1$
+                    fgTags_.add("div"); //$NON-NLS-1$
+                    fgTags_.add("h1"); //$NON-NLS-1$
+                    fgTags_.add("h2"); //$NON-NLS-1$
+                    fgTags_.add("h3"); //$NON-NLS-1$
+                    fgTags_.add("h4"); //$NON-NLS-1$
+                    fgTags_.add("h5"); //$NON-NLS-1$
+                    fgTags_.add("p"); //$NON-NLS-1$
+                    fgTags_.add("dl"); //$NON-NLS-1$
+                    fgTags_.add("dt"); //$NON-NLS-1$
+                    fgTags_.add("dd"); //$NON-NLS-1$
+                    fgTags_.add("li"); //$NON-NLS-1$
+                    fgTags_.add("ul"); //$NON-NLS-1$
+                    fgTags_.add("pre"); //$NON-NLS-1$
+                    fgTags_.add("head"); //$NON-NLS-1$
+                }
+            }
+        }
+        return fgTags_;
     }
 
     private int fCounter= 0;
--- a/dwtx/jface/text/DefaultDocumentAdapter.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/DefaultDocumentAdapter.d	Thu Sep 11 00:32:24 2008 +0200
@@ -569,7 +569,16 @@
      + DWT extension
      +/
     public int utf8AdjustOffset( int offset ){
-        implMissing(__FILE__,__LINE__);
+        if (fDocument is null)
+            return offset;
+        if (offset is 0)
+            return offset;
+        if( offset >= fDocument.getLength() ){
+            return offset;
+        }
+        while( fDocument.getChar(offset) & 0xC0 is 0x80 && offset > 0 ){
+            offset--;
+        }
         return offset;
     }
 }
--- a/dwtx/jface/text/JFaceTextMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/JFaceTextMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -12,148 +12,6 @@
  *******************************************************************************/
 module dwtx.jface.text.JFaceTextMessages;
 
-import dwtx.jface.text.IDocumentPartitioningListener; // packageimport
-import dwtx.jface.text.DefaultTextHover; // packageimport
-import dwtx.jface.text.AbstractInformationControl; // packageimport
-import dwtx.jface.text.TextUtilities; // packageimport
-import dwtx.jface.text.IInformationControlCreatorExtension; // packageimport
-import dwtx.jface.text.AbstractInformationControlManager; // packageimport
-import dwtx.jface.text.ITextViewerExtension2; // packageimport
-import dwtx.jface.text.IDocumentPartitioner; // packageimport
-import dwtx.jface.text.DefaultIndentLineAutoEditStrategy; // packageimport
-import dwtx.jface.text.ITextSelection; // packageimport
-import dwtx.jface.text.Document; // packageimport
-import dwtx.jface.text.FindReplaceDocumentAdapterContentProposalProvider; // packageimport
-import dwtx.jface.text.ITextListener; // packageimport
-import dwtx.jface.text.BadPartitioningException; // packageimport
-import dwtx.jface.text.ITextViewerExtension5; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension3; // packageimport
-import dwtx.jface.text.IUndoManager; // packageimport
-import dwtx.jface.text.ITextHoverExtension2; // packageimport
-import dwtx.jface.text.IRepairableDocument; // packageimport
-import dwtx.jface.text.IRewriteTarget; // packageimport
-import dwtx.jface.text.DefaultPositionUpdater; // packageimport
-import dwtx.jface.text.RewriteSessionEditProcessor; // packageimport
-import dwtx.jface.text.TextViewerHoverManager; // packageimport
-import dwtx.jface.text.DocumentRewriteSession; // packageimport
-import dwtx.jface.text.TextViewer; // packageimport
-import dwtx.jface.text.ITextViewerExtension8; // packageimport
-import dwtx.jface.text.RegExMessages; // packageimport
-import dwtx.jface.text.IDelayedInputChangeProvider; // packageimport
-import dwtx.jface.text.ITextOperationTargetExtension; // packageimport
-import dwtx.jface.text.IWidgetTokenOwner; // packageimport
-import dwtx.jface.text.IViewportListener; // packageimport
-import dwtx.jface.text.GapTextStore; // packageimport
-import dwtx.jface.text.MarkSelection; // packageimport
-import dwtx.jface.text.IDocumentPartitioningListenerExtension; // packageimport
-import dwtx.jface.text.IDocumentAdapterExtension; // packageimport
-import dwtx.jface.text.IInformationControlExtension; // packageimport
-import dwtx.jface.text.IDocumentPartitioningListenerExtension2; // packageimport
-import dwtx.jface.text.DefaultDocumentAdapter; // packageimport
-import dwtx.jface.text.ITextViewerExtension3; // packageimport
-import dwtx.jface.text.IInformationControlCreator; // packageimport
-import dwtx.jface.text.TypedRegion; // packageimport
-import dwtx.jface.text.ISynchronizable; // packageimport
-import dwtx.jface.text.IMarkRegionTarget; // packageimport
-import dwtx.jface.text.TextViewerUndoManager; // packageimport
-import dwtx.jface.text.IRegion; // packageimport
-import dwtx.jface.text.IInformationControlExtension2; // packageimport
-import dwtx.jface.text.IDocumentExtension4; // packageimport
-import dwtx.jface.text.IDocumentExtension2; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension2; // packageimport
-import dwtx.jface.text.Assert; // packageimport
-import dwtx.jface.text.DefaultInformationControl; // packageimport
-import dwtx.jface.text.IWidgetTokenOwnerExtension; // packageimport
-import dwtx.jface.text.DocumentClone; // packageimport
-import dwtx.jface.text.DefaultUndoManager; // packageimport
-import dwtx.jface.text.IFindReplaceTarget; // packageimport
-import dwtx.jface.text.IAutoEditStrategy; // packageimport
-import dwtx.jface.text.ILineTrackerExtension; // packageimport
-import dwtx.jface.text.IUndoManagerExtension; // packageimport
-import dwtx.jface.text.TextSelection; // packageimport
-import dwtx.jface.text.DefaultAutoIndentStrategy; // packageimport
-import dwtx.jface.text.IAutoIndentStrategy; // packageimport
-import dwtx.jface.text.IPainter; // packageimport
-import dwtx.jface.text.IInformationControl; // packageimport
-import dwtx.jface.text.IInformationControlExtension3; // packageimport
-import dwtx.jface.text.ITextViewerExtension6; // packageimport
-import dwtx.jface.text.IInformationControlExtension4; // packageimport
-import dwtx.jface.text.DefaultLineTracker; // packageimport
-import dwtx.jface.text.IDocumentInformationMappingExtension; // packageimport
-import dwtx.jface.text.IRepairableDocumentExtension; // packageimport
-import dwtx.jface.text.ITextHover; // packageimport
-import dwtx.jface.text.FindReplaceDocumentAdapter; // packageimport
-import dwtx.jface.text.ILineTracker; // packageimport
-import dwtx.jface.text.Line; // packageimport
-import dwtx.jface.text.ITextViewerExtension; // packageimport
-import dwtx.jface.text.IDocumentAdapter; // packageimport
-import dwtx.jface.text.TextEvent; // packageimport
-import dwtx.jface.text.BadLocationException; // packageimport
-import dwtx.jface.text.AbstractDocument; // packageimport
-import dwtx.jface.text.AbstractLineTracker; // packageimport
-import dwtx.jface.text.TreeLineTracker; // packageimport
-import dwtx.jface.text.ITextPresentationListener; // packageimport
-import dwtx.jface.text.Region; // packageimport
-import dwtx.jface.text.ITextViewer; // packageimport
-import dwtx.jface.text.IDocumentInformationMapping; // packageimport
-import dwtx.jface.text.MarginPainter; // packageimport
-import dwtx.jface.text.IPaintPositionManager; // packageimport
-import dwtx.jface.text.TextPresentation; // packageimport
-import dwtx.jface.text.IFindReplaceTargetExtension; // packageimport
-import dwtx.jface.text.ISlaveDocumentManagerExtension; // packageimport
-import dwtx.jface.text.ISelectionValidator; // packageimport
-import dwtx.jface.text.IDocumentExtension; // packageimport
-import dwtx.jface.text.PropagatingFontFieldEditor; // packageimport
-import dwtx.jface.text.ConfigurableLineTracker; // packageimport
-import dwtx.jface.text.SlaveDocumentEvent; // packageimport
-import dwtx.jface.text.IDocumentListener; // packageimport
-import dwtx.jface.text.PaintManager; // packageimport
-import dwtx.jface.text.IFindReplaceTargetExtension3; // packageimport
-import dwtx.jface.text.ITextDoubleClickStrategy; // packageimport
-import dwtx.jface.text.IDocumentExtension3; // packageimport
-import dwtx.jface.text.Position; // packageimport
-import dwtx.jface.text.TextMessages; // packageimport
-import dwtx.jface.text.CopyOnWriteTextStore; // packageimport
-import dwtx.jface.text.WhitespaceCharacterPainter; // packageimport
-import dwtx.jface.text.IPositionUpdater; // packageimport
-import dwtx.jface.text.DefaultTextDoubleClickStrategy; // packageimport
-import dwtx.jface.text.ListLineTracker; // packageimport
-import dwtx.jface.text.ITextInputListener; // packageimport
-import dwtx.jface.text.BadPositionCategoryException; // packageimport
-import dwtx.jface.text.IWidgetTokenKeeperExtension; // packageimport
-import dwtx.jface.text.IInputChangedListener; // packageimport
-import dwtx.jface.text.ITextOperationTarget; // packageimport
-import dwtx.jface.text.IDocumentInformationMappingExtension2; // packageimport
-import dwtx.jface.text.ITextViewerExtension7; // packageimport
-import dwtx.jface.text.IInformationControlExtension5; // packageimport
-import dwtx.jface.text.IDocumentRewriteSessionListener; // packageimport
-import dwtx.jface.text.JFaceTextUtil; // packageimport
-import dwtx.jface.text.AbstractReusableInformationControlCreator; // packageimport
-import dwtx.jface.text.TabsToSpacesConverter; // packageimport
-import dwtx.jface.text.CursorLinePainter; // packageimport
-import dwtx.jface.text.ITextHoverExtension; // packageimport
-import dwtx.jface.text.IEventConsumer; // packageimport
-import dwtx.jface.text.IDocument; // packageimport
-import dwtx.jface.text.IWidgetTokenKeeper; // packageimport
-import dwtx.jface.text.DocumentCommand; // packageimport
-import dwtx.jface.text.TypedPosition; // packageimport
-import dwtx.jface.text.IEditingSupportRegistry; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension; // packageimport
-import dwtx.jface.text.AbstractHoverInformationControlManager; // packageimport
-import dwtx.jface.text.IEditingSupport; // packageimport
-import dwtx.jface.text.IMarkSelection; // packageimport
-import dwtx.jface.text.ISlaveDocumentManager; // packageimport
-import dwtx.jface.text.DocumentEvent; // packageimport
-import dwtx.jface.text.DocumentPartitioningChangedEvent; // packageimport
-import dwtx.jface.text.ITextStore; // packageimport
-import dwtx.jface.text.DocumentRewriteSessionEvent; // packageimport
-import dwtx.jface.text.SequentialRewriteTextStore; // packageimport
-import dwtx.jface.text.DocumentRewriteSessionType; // packageimport
-import dwtx.jface.text.TextAttribute; // packageimport
-import dwtx.jface.text.ITextViewerExtension4; // packageimport
-import dwtx.jface.text.ITypedRegion; // packageimport
-
-
 import dwt.dwthelper.utils;
 
 import dwt.dwthelper.ResourceBundle;
@@ -162,11 +20,18 @@
 
 //     private static const String RESOURCE_BUNDLE= "dwtx.jface.text.JFaceTextMessages";//$NON-NLS-1$
 
-    private static ResourceBundle fgResourceBundle;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+    private static ResourceBundle fgResourceBundle_;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
 
-    static this() {
-        fgResourceBundle = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.JFaceTextMessages.properties"));
+    private static ResourceBundle fgResourceBundle(){
+        if( fgResourceBundle_ is null ){
+            synchronized(JFaceTextMessages.classinfo ){
+                if( fgResourceBundle_ is null ){
+                    fgResourceBundle_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.JFaceTextMessages.properties"));
+                }
+            }
+        }
+        return fgResourceBundle_;
     }
 
     private this() {
--- a/dwtx/jface/text/RegExMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/RegExMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -12,151 +12,8 @@
  *******************************************************************************/
 module dwtx.jface.text.RegExMessages;
 
-import dwtx.jface.text.IDocumentPartitioningListener; // packageimport
-import dwtx.jface.text.DefaultTextHover; // packageimport
-import dwtx.jface.text.AbstractInformationControl; // packageimport
-import dwtx.jface.text.TextUtilities; // packageimport
-import dwtx.jface.text.IInformationControlCreatorExtension; // packageimport
-import dwtx.jface.text.AbstractInformationControlManager; // packageimport
-import dwtx.jface.text.ITextViewerExtension2; // packageimport
-import dwtx.jface.text.IDocumentPartitioner; // packageimport
-import dwtx.jface.text.DefaultIndentLineAutoEditStrategy; // packageimport
-import dwtx.jface.text.ITextSelection; // packageimport
-import dwtx.jface.text.Document; // packageimport
-import dwtx.jface.text.FindReplaceDocumentAdapterContentProposalProvider; // packageimport
-import dwtx.jface.text.ITextListener; // packageimport
-import dwtx.jface.text.BadPartitioningException; // packageimport
-import dwtx.jface.text.ITextViewerExtension5; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension3; // packageimport
-import dwtx.jface.text.IUndoManager; // packageimport
-import dwtx.jface.text.ITextHoverExtension2; // packageimport
-import dwtx.jface.text.IRepairableDocument; // packageimport
-import dwtx.jface.text.IRewriteTarget; // packageimport
-import dwtx.jface.text.DefaultPositionUpdater; // packageimport
-import dwtx.jface.text.RewriteSessionEditProcessor; // packageimport
-import dwtx.jface.text.TextViewerHoverManager; // packageimport
-import dwtx.jface.text.DocumentRewriteSession; // packageimport
-import dwtx.jface.text.TextViewer; // packageimport
-import dwtx.jface.text.ITextViewerExtension8; // packageimport
-import dwtx.jface.text.IDelayedInputChangeProvider; // packageimport
-import dwtx.jface.text.ITextOperationTargetExtension; // packageimport
-import dwtx.jface.text.IWidgetTokenOwner; // packageimport
-import dwtx.jface.text.IViewportListener; // packageimport
-import dwtx.jface.text.GapTextStore; // packageimport
-import dwtx.jface.text.MarkSelection; // packageimport
-import dwtx.jface.text.IDocumentPartitioningListenerExtension; // packageimport
-import dwtx.jface.text.IDocumentAdapterExtension; // packageimport
-import dwtx.jface.text.IInformationControlExtension; // packageimport
-import dwtx.jface.text.IDocumentPartitioningListenerExtension2; // packageimport
-import dwtx.jface.text.DefaultDocumentAdapter; // packageimport
-import dwtx.jface.text.ITextViewerExtension3; // packageimport
-import dwtx.jface.text.IInformationControlCreator; // packageimport
-import dwtx.jface.text.TypedRegion; // packageimport
-import dwtx.jface.text.ISynchronizable; // packageimport
-import dwtx.jface.text.IMarkRegionTarget; // packageimport
-import dwtx.jface.text.TextViewerUndoManager; // packageimport
-import dwtx.jface.text.IRegion; // packageimport
-import dwtx.jface.text.IInformationControlExtension2; // packageimport
-import dwtx.jface.text.IDocumentExtension4; // packageimport
-import dwtx.jface.text.IDocumentExtension2; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension2; // packageimport
-import dwtx.jface.text.Assert; // packageimport
-import dwtx.jface.text.DefaultInformationControl; // packageimport
-import dwtx.jface.text.IWidgetTokenOwnerExtension; // packageimport
-import dwtx.jface.text.DocumentClone; // packageimport
-import dwtx.jface.text.DefaultUndoManager; // packageimport
-import dwtx.jface.text.IFindReplaceTarget; // packageimport
-import dwtx.jface.text.IAutoEditStrategy; // packageimport
-import dwtx.jface.text.ILineTrackerExtension; // packageimport
-import dwtx.jface.text.IUndoManagerExtension; // packageimport
-import dwtx.jface.text.TextSelection; // packageimport
-import dwtx.jface.text.DefaultAutoIndentStrategy; // packageimport
-import dwtx.jface.text.IAutoIndentStrategy; // packageimport
-import dwtx.jface.text.IPainter; // packageimport
-import dwtx.jface.text.IInformationControl; // packageimport
-import dwtx.jface.text.IInformationControlExtension3; // packageimport
-import dwtx.jface.text.ITextViewerExtension6; // packageimport
-import dwtx.jface.text.IInformationControlExtension4; // packageimport
-import dwtx.jface.text.DefaultLineTracker; // packageimport
-import dwtx.jface.text.IDocumentInformationMappingExtension; // packageimport
-import dwtx.jface.text.IRepairableDocumentExtension; // packageimport
-import dwtx.jface.text.ITextHover; // packageimport
-import dwtx.jface.text.FindReplaceDocumentAdapter; // packageimport
-import dwtx.jface.text.ILineTracker; // packageimport
-import dwtx.jface.text.Line; // packageimport
-import dwtx.jface.text.ITextViewerExtension; // packageimport
-import dwtx.jface.text.IDocumentAdapter; // packageimport
-import dwtx.jface.text.TextEvent; // packageimport
-import dwtx.jface.text.BadLocationException; // packageimport
-import dwtx.jface.text.AbstractDocument; // packageimport
-import dwtx.jface.text.AbstractLineTracker; // packageimport
-import dwtx.jface.text.TreeLineTracker; // packageimport
-import dwtx.jface.text.ITextPresentationListener; // packageimport
-import dwtx.jface.text.Region; // packageimport
-import dwtx.jface.text.ITextViewer; // packageimport
-import dwtx.jface.text.IDocumentInformationMapping; // packageimport
-import dwtx.jface.text.MarginPainter; // packageimport
-import dwtx.jface.text.IPaintPositionManager; // packageimport
-import dwtx.jface.text.TextPresentation; // packageimport
-import dwtx.jface.text.IFindReplaceTargetExtension; // packageimport
-import dwtx.jface.text.ISlaveDocumentManagerExtension; // packageimport
-import dwtx.jface.text.ISelectionValidator; // packageimport
-import dwtx.jface.text.IDocumentExtension; // packageimport
-import dwtx.jface.text.PropagatingFontFieldEditor; // packageimport
-import dwtx.jface.text.ConfigurableLineTracker; // packageimport
-import dwtx.jface.text.SlaveDocumentEvent; // packageimport
-import dwtx.jface.text.IDocumentListener; // packageimport
-import dwtx.jface.text.PaintManager; // packageimport
-import dwtx.jface.text.IFindReplaceTargetExtension3; // packageimport
-import dwtx.jface.text.ITextDoubleClickStrategy; // packageimport
-import dwtx.jface.text.IDocumentExtension3; // packageimport
-import dwtx.jface.text.Position; // packageimport
-import dwtx.jface.text.TextMessages; // packageimport
-import dwtx.jface.text.CopyOnWriteTextStore; // packageimport
-import dwtx.jface.text.WhitespaceCharacterPainter; // packageimport
-import dwtx.jface.text.IPositionUpdater; // packageimport
-import dwtx.jface.text.DefaultTextDoubleClickStrategy; // packageimport
-import dwtx.jface.text.ListLineTracker; // packageimport
-import dwtx.jface.text.ITextInputListener; // packageimport
-import dwtx.jface.text.BadPositionCategoryException; // packageimport
-import dwtx.jface.text.IWidgetTokenKeeperExtension; // packageimport
-import dwtx.jface.text.IInputChangedListener; // packageimport
-import dwtx.jface.text.ITextOperationTarget; // packageimport
-import dwtx.jface.text.IDocumentInformationMappingExtension2; // packageimport
-import dwtx.jface.text.ITextViewerExtension7; // packageimport
-import dwtx.jface.text.IInformationControlExtension5; // packageimport
-import dwtx.jface.text.IDocumentRewriteSessionListener; // packageimport
-import dwtx.jface.text.JFaceTextUtil; // packageimport
-import dwtx.jface.text.AbstractReusableInformationControlCreator; // packageimport
-import dwtx.jface.text.TabsToSpacesConverter; // packageimport
-import dwtx.jface.text.CursorLinePainter; // packageimport
-import dwtx.jface.text.ITextHoverExtension; // packageimport
-import dwtx.jface.text.IEventConsumer; // packageimport
-import dwtx.jface.text.IDocument; // packageimport
-import dwtx.jface.text.IWidgetTokenKeeper; // packageimport
-import dwtx.jface.text.DocumentCommand; // packageimport
-import dwtx.jface.text.TypedPosition; // packageimport
-import dwtx.jface.text.IEditingSupportRegistry; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension; // packageimport
-import dwtx.jface.text.AbstractHoverInformationControlManager; // packageimport
-import dwtx.jface.text.IEditingSupport; // packageimport
-import dwtx.jface.text.IMarkSelection; // packageimport
-import dwtx.jface.text.ISlaveDocumentManager; // packageimport
-import dwtx.jface.text.DocumentEvent; // packageimport
-import dwtx.jface.text.DocumentPartitioningChangedEvent; // packageimport
-import dwtx.jface.text.ITextStore; // packageimport
-import dwtx.jface.text.JFaceTextMessages; // packageimport
-import dwtx.jface.text.DocumentRewriteSessionEvent; // packageimport
-import dwtx.jface.text.SequentialRewriteTextStore; // packageimport
-import dwtx.jface.text.DocumentRewriteSessionType; // packageimport
-import dwtx.jface.text.TextAttribute; // packageimport
-import dwtx.jface.text.ITextViewerExtension4; // packageimport
-import dwtx.jface.text.ITypedRegion; // packageimport
-
-
 import dwt.dwthelper.utils;
 
-
 // import dwt.dwthelper.MissingResourceException;
 import dwt.dwthelper.ResourceBundle;
 
@@ -169,11 +26,17 @@
 final class RegExMessages {
 
     //private static const String RESOURCE_BUNDLE= RegExMessages.classinfo.getName();
-    private static ResourceBundle fgResourceBundle;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-    static this() {
-        fgResourceBundle = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.RegExMessages.properties"));
+    private static ResourceBundle fgResourceBundle_;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+    private static ResourceBundle fgResourceBundle(){
+        if( fgResourceBundle_ is null ){
+            synchronized(RegExMessages.classinfo ){
+                if( fgResourceBundle_ is null ){
+                    fgResourceBundle_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.RegExMessages.properties"));
+                }
+            }
+        }
+        return fgResourceBundle_;
     }
 
     private this() {
--- a/dwtx/jface/text/TextMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/TextMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -12,148 +12,6 @@
  *******************************************************************************/
 module dwtx.jface.text.TextMessages;
 
-import dwtx.jface.text.IDocumentPartitioningListener; // packageimport
-import dwtx.jface.text.DefaultTextHover; // packageimport
-import dwtx.jface.text.AbstractInformationControl; // packageimport
-import dwtx.jface.text.TextUtilities; // packageimport
-import dwtx.jface.text.IInformationControlCreatorExtension; // packageimport
-import dwtx.jface.text.AbstractInformationControlManager; // packageimport
-import dwtx.jface.text.ITextViewerExtension2; // packageimport
-import dwtx.jface.text.IDocumentPartitioner; // packageimport
-import dwtx.jface.text.DefaultIndentLineAutoEditStrategy; // packageimport
-import dwtx.jface.text.ITextSelection; // packageimport
-import dwtx.jface.text.Document; // packageimport
-import dwtx.jface.text.FindReplaceDocumentAdapterContentProposalProvider; // packageimport
-import dwtx.jface.text.ITextListener; // packageimport
-import dwtx.jface.text.BadPartitioningException; // packageimport
-import dwtx.jface.text.ITextViewerExtension5; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension3; // packageimport
-import dwtx.jface.text.IUndoManager; // packageimport
-import dwtx.jface.text.ITextHoverExtension2; // packageimport
-import dwtx.jface.text.IRepairableDocument; // packageimport
-import dwtx.jface.text.IRewriteTarget; // packageimport
-import dwtx.jface.text.DefaultPositionUpdater; // packageimport
-import dwtx.jface.text.RewriteSessionEditProcessor; // packageimport
-import dwtx.jface.text.TextViewerHoverManager; // packageimport
-import dwtx.jface.text.DocumentRewriteSession; // packageimport
-import dwtx.jface.text.TextViewer; // packageimport
-import dwtx.jface.text.ITextViewerExtension8; // packageimport
-import dwtx.jface.text.RegExMessages; // packageimport
-import dwtx.jface.text.IDelayedInputChangeProvider; // packageimport
-import dwtx.jface.text.ITextOperationTargetExtension; // packageimport
-import dwtx.jface.text.IWidgetTokenOwner; // packageimport
-import dwtx.jface.text.IViewportListener; // packageimport
-import dwtx.jface.text.GapTextStore; // packageimport
-import dwtx.jface.text.MarkSelection; // packageimport
-import dwtx.jface.text.IDocumentPartitioningListenerExtension; // packageimport
-import dwtx.jface.text.IDocumentAdapterExtension; // packageimport
-import dwtx.jface.text.IInformationControlExtension; // packageimport
-import dwtx.jface.text.IDocumentPartitioningListenerExtension2; // packageimport
-import dwtx.jface.text.DefaultDocumentAdapter; // packageimport
-import dwtx.jface.text.ITextViewerExtension3; // packageimport
-import dwtx.jface.text.IInformationControlCreator; // packageimport
-import dwtx.jface.text.TypedRegion; // packageimport
-import dwtx.jface.text.ISynchronizable; // packageimport
-import dwtx.jface.text.IMarkRegionTarget; // packageimport
-import dwtx.jface.text.TextViewerUndoManager; // packageimport
-import dwtx.jface.text.IRegion; // packageimport
-import dwtx.jface.text.IInformationControlExtension2; // packageimport
-import dwtx.jface.text.IDocumentExtension4; // packageimport
-import dwtx.jface.text.IDocumentExtension2; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension2; // packageimport
-import dwtx.jface.text.Assert; // packageimport
-import dwtx.jface.text.DefaultInformationControl; // packageimport
-import dwtx.jface.text.IWidgetTokenOwnerExtension; // packageimport
-import dwtx.jface.text.DocumentClone; // packageimport
-import dwtx.jface.text.DefaultUndoManager; // packageimport
-import dwtx.jface.text.IFindReplaceTarget; // packageimport
-import dwtx.jface.text.IAutoEditStrategy; // packageimport
-import dwtx.jface.text.ILineTrackerExtension; // packageimport
-import dwtx.jface.text.IUndoManagerExtension; // packageimport
-import dwtx.jface.text.TextSelection; // packageimport
-import dwtx.jface.text.DefaultAutoIndentStrategy; // packageimport
-import dwtx.jface.text.IAutoIndentStrategy; // packageimport
-import dwtx.jface.text.IPainter; // packageimport
-import dwtx.jface.text.IInformationControl; // packageimport
-import dwtx.jface.text.IInformationControlExtension3; // packageimport
-import dwtx.jface.text.ITextViewerExtension6; // packageimport
-import dwtx.jface.text.IInformationControlExtension4; // packageimport
-import dwtx.jface.text.DefaultLineTracker; // packageimport
-import dwtx.jface.text.IDocumentInformationMappingExtension; // packageimport
-import dwtx.jface.text.IRepairableDocumentExtension; // packageimport
-import dwtx.jface.text.ITextHover; // packageimport
-import dwtx.jface.text.FindReplaceDocumentAdapter; // packageimport
-import dwtx.jface.text.ILineTracker; // packageimport
-import dwtx.jface.text.Line; // packageimport
-import dwtx.jface.text.ITextViewerExtension; // packageimport
-import dwtx.jface.text.IDocumentAdapter; // packageimport
-import dwtx.jface.text.TextEvent; // packageimport
-import dwtx.jface.text.BadLocationException; // packageimport
-import dwtx.jface.text.AbstractDocument; // packageimport
-import dwtx.jface.text.AbstractLineTracker; // packageimport
-import dwtx.jface.text.TreeLineTracker; // packageimport
-import dwtx.jface.text.ITextPresentationListener; // packageimport
-import dwtx.jface.text.Region; // packageimport
-import dwtx.jface.text.ITextViewer; // packageimport
-import dwtx.jface.text.IDocumentInformationMapping; // packageimport
-import dwtx.jface.text.MarginPainter; // packageimport
-import dwtx.jface.text.IPaintPositionManager; // packageimport
-import dwtx.jface.text.TextPresentation; // packageimport
-import dwtx.jface.text.IFindReplaceTargetExtension; // packageimport
-import dwtx.jface.text.ISlaveDocumentManagerExtension; // packageimport
-import dwtx.jface.text.ISelectionValidator; // packageimport
-import dwtx.jface.text.IDocumentExtension; // packageimport
-import dwtx.jface.text.PropagatingFontFieldEditor; // packageimport
-import dwtx.jface.text.ConfigurableLineTracker; // packageimport
-import dwtx.jface.text.SlaveDocumentEvent; // packageimport
-import dwtx.jface.text.IDocumentListener; // packageimport
-import dwtx.jface.text.PaintManager; // packageimport
-import dwtx.jface.text.IFindReplaceTargetExtension3; // packageimport
-import dwtx.jface.text.ITextDoubleClickStrategy; // packageimport
-import dwtx.jface.text.IDocumentExtension3; // packageimport
-import dwtx.jface.text.Position; // packageimport
-import dwtx.jface.text.CopyOnWriteTextStore; // packageimport
-import dwtx.jface.text.WhitespaceCharacterPainter; // packageimport
-import dwtx.jface.text.IPositionUpdater; // packageimport
-import dwtx.jface.text.DefaultTextDoubleClickStrategy; // packageimport
-import dwtx.jface.text.ListLineTracker; // packageimport
-import dwtx.jface.text.ITextInputListener; // packageimport
-import dwtx.jface.text.BadPositionCategoryException; // packageimport
-import dwtx.jface.text.IWidgetTokenKeeperExtension; // packageimport
-import dwtx.jface.text.IInputChangedListener; // packageimport
-import dwtx.jface.text.ITextOperationTarget; // packageimport
-import dwtx.jface.text.IDocumentInformationMappingExtension2; // packageimport
-import dwtx.jface.text.ITextViewerExtension7; // packageimport
-import dwtx.jface.text.IInformationControlExtension5; // packageimport
-import dwtx.jface.text.IDocumentRewriteSessionListener; // packageimport
-import dwtx.jface.text.JFaceTextUtil; // packageimport
-import dwtx.jface.text.AbstractReusableInformationControlCreator; // packageimport
-import dwtx.jface.text.TabsToSpacesConverter; // packageimport
-import dwtx.jface.text.CursorLinePainter; // packageimport
-import dwtx.jface.text.ITextHoverExtension; // packageimport
-import dwtx.jface.text.IEventConsumer; // packageimport
-import dwtx.jface.text.IDocument; // packageimport
-import dwtx.jface.text.IWidgetTokenKeeper; // packageimport
-import dwtx.jface.text.DocumentCommand; // packageimport
-import dwtx.jface.text.TypedPosition; // packageimport
-import dwtx.jface.text.IEditingSupportRegistry; // packageimport
-import dwtx.jface.text.IDocumentPartitionerExtension; // packageimport
-import dwtx.jface.text.AbstractHoverInformationControlManager; // packageimport
-import dwtx.jface.text.IEditingSupport; // packageimport
-import dwtx.jface.text.IMarkSelection; // packageimport
-import dwtx.jface.text.ISlaveDocumentManager; // packageimport
-import dwtx.jface.text.DocumentEvent; // packageimport
-import dwtx.jface.text.DocumentPartitioningChangedEvent; // packageimport
-import dwtx.jface.text.ITextStore; // packageimport
-import dwtx.jface.text.JFaceTextMessages; // packageimport
-import dwtx.jface.text.DocumentRewriteSessionEvent; // packageimport
-import dwtx.jface.text.SequentialRewriteTextStore; // packageimport
-import dwtx.jface.text.DocumentRewriteSessionType; // packageimport
-import dwtx.jface.text.TextAttribute; // packageimport
-import dwtx.jface.text.ITextViewerExtension4; // packageimport
-import dwtx.jface.text.ITypedRegion; // packageimport
-
-
 import dwt.dwthelper.utils;
 
 import dwt.dwthelper.ResourceBundle;
@@ -168,14 +26,19 @@
 class TextMessages {
 //     private static const String BUNDLE_NAME= "dwtx.jface.text.TextMessages"; //$NON-NLS-1$
 
-    private static const ResourceBundle RESOURCE_BUNDLE;//= ResourceBundle.getBundle(BUNDLE_NAME);
-
-    static this() {
-        RESOURCE_BUNDLE = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.TextMessages.properties"));
+    private static ResourceBundle RESOURCE_BUNDLE_;//= ResourceBundle.getBundle(BUNDLE_NAME);
+    private static ResourceBundle RESOURCE_BUNDLE(){
+        if( RESOURCE_BUNDLE_ is null ){
+            synchronized(TextMessages.classinfo ){
+                if( RESOURCE_BUNDLE_ is null ){
+                    RESOURCE_BUNDLE_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.TextMessages.properties"));
+                }
+            }
+        }
+        return RESOURCE_BUNDLE_;
     }
 
-
     private this() {
     }
 
--- a/dwtx/jface/text/TextViewer.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/TextViewer.d	Thu Sep 11 00:32:24 2008 +0200
@@ -1684,7 +1684,7 @@
      * Queued post selection changed events count.
      * @since 3.0
      */
-    private /+const+/ int[] fNumberOfPostSelectionChangedEvents;
+    private /+const+/ int[1] fNumberOfPostSelectionChangedEvents;
     /**
      * Last selection range sent to post selection change listeners.
      * @since 3.0
@@ -1802,7 +1802,6 @@
         MARK_POSITION_CATEGORY=Format("__mark_category_{}", toHash()); //$NON-NLS-1$
         fMarkPositionUpdater= new DefaultPositionUpdater(MARK_POSITION_CATEGORY);
         fDocumentRewriteSessionListener= new DocumentRewriteSessionListener();
-        fNumberOfPostSelectionChangedEvents= new int[1];
         fEditorHelpers= new HashSet();
     }
     /**
@@ -2653,27 +2652,21 @@
             return;
 
         fNumberOfPostSelectionChangedEvents[0]++;
-        display.timerExec(getEmptySelectionChangedEventDelay(), new class()  Runnable {
-            const int id;
-            this(){
-                id = fNumberOfPostSelectionChangedEvents[0];
-            }
-            public void run() {
-                if (id is fNumberOfPostSelectionChangedEvents[0]) {
-                    // Check again because this is executed after the delay
-                    if (getDisplay() !is null)  {
-                        Point selection= fTextWidget.getSelectionRange();
-                        if (selection !is null) {
-                            IRegion r= widgetRange2ModelRange(new Region(selection.x, selection.y));
-                            if (fireEqualSelection || (r !is null && !(cast(Object)r).opEquals(cast(Object)fLastSentPostSelectionChange)) || r is null)  {
-                                fLastSentPostSelectionChange= r;
-                                firePostSelectionChanged(selection.x, selection.y);
-                            }
+        display.timerExec(getEmptySelectionChangedEventDelay(), dgRunnable( (int id, bool fireEqualSelection_) {
+            if (id is fNumberOfPostSelectionChangedEvents[0]) {
+                // Check again because this is executed after the delay
+                if (getDisplay() !is null)  {
+                    Point selection= fTextWidget.getSelectionRange();
+                    if (selection !is null) {
+                        IRegion r= widgetRange2ModelRange(new Region(selection.x, selection.y));
+                        if (fireEqualSelection_ || (r !is null && !(cast(Object)r).opEquals(cast(Object)fLastSentPostSelectionChange)) || r is null)  {
+                            fLastSentPostSelectionChange= r;
+                            firePostSelectionChanged(selection.x, selection.y);
                         }
                     }
                 }
             }
-        });
+        }, fNumberOfPostSelectionChangedEvents[0], fireEqualSelection));
     }
 
     /**
--- a/dwtx/jface/text/contentassist/JFaceTextMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/contentassist/JFaceTextMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -12,39 +12,6 @@
  *******************************************************************************/
 module dwtx.jface.text.contentassist.JFaceTextMessages;
 
-import dwtx.jface.text.contentassist.ContentAssistEvent; // packageimport
-import dwtx.jface.text.contentassist.Helper; // packageimport
-import dwtx.jface.text.contentassist.PopupCloser; // packageimport
-import dwtx.jface.text.contentassist.IContentAssistant; // packageimport
-import dwtx.jface.text.contentassist.CompletionProposal; // packageimport
-import dwtx.jface.text.contentassist.ICompletionProposalExtension5; // packageimport
-import dwtx.jface.text.contentassist.IContextInformationValidator; // packageimport
-import dwtx.jface.text.contentassist.IContentAssistListener; // packageimport
-import dwtx.jface.text.contentassist.ICompletionProposalExtension6; // packageimport
-import dwtx.jface.text.contentassist.ICompletionListener; // packageimport
-import dwtx.jface.text.contentassist.ICompletionProposalExtension2; // packageimport
-import dwtx.jface.text.contentassist.IContentAssistantExtension4; // packageimport
-import dwtx.jface.text.contentassist.ContextInformation; // packageimport
-import dwtx.jface.text.contentassist.ICompletionProposalExtension3; // packageimport
-import dwtx.jface.text.contentassist.ContextInformationValidator; // packageimport
-import dwtx.jface.text.contentassist.ICompletionProposal; // packageimport
-import dwtx.jface.text.contentassist.IContentAssistProcessor; // packageimport
-import dwtx.jface.text.contentassist.AdditionalInfoController; // packageimport
-import dwtx.jface.text.contentassist.IContextInformationPresenter; // packageimport
-import dwtx.jface.text.contentassist.ICompletionProposalExtension4; // packageimport
-import dwtx.jface.text.contentassist.ICompletionListenerExtension; // packageimport
-import dwtx.jface.text.contentassist.ContextInformationPopup; // packageimport
-import dwtx.jface.text.contentassist.IContextInformationExtension; // packageimport
-import dwtx.jface.text.contentassist.IContentAssistantExtension2; // packageimport
-import dwtx.jface.text.contentassist.ContentAssistSubjectControlAdapter; // packageimport
-import dwtx.jface.text.contentassist.CompletionProposalPopup; // packageimport
-import dwtx.jface.text.contentassist.ICompletionProposalExtension; // packageimport
-import dwtx.jface.text.contentassist.IContextInformation; // packageimport
-import dwtx.jface.text.contentassist.IContentAssistantExtension3; // packageimport
-import dwtx.jface.text.contentassist.ContentAssistant; // packageimport
-import dwtx.jface.text.contentassist.IContentAssistantExtension; // packageimport
-
-
 import dwt.dwthelper.utils;
 
 import dwt.dwthelper.ResourceBundle;
@@ -56,11 +23,17 @@
 
 //     private static const String RESOURCE_BUNDLE= JFaceTextMessages.classinfo.getName();
 
-    private static ResourceBundle fgResourceBundle;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-    static this() {
-        fgResourceBundle = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.contentassist.JFaceTextMessages.properties"));
+    private static ResourceBundle fgResourceBundle_;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+    private static ResourceBundle fgResourceBundle(){
+        if( fgResourceBundle_ is null ){
+            synchronized(JFaceTextMessages.classinfo ){
+                if( fgResourceBundle_ is null ){
+                    fgResourceBundle_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.contentassist.JFaceTextMessages.properties"));
+                }
+            }
+        }
+        return fgResourceBundle_;
     }
 
     private this() {
--- a/dwtx/jface/text/hyperlink/HyperlinkMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/hyperlink/HyperlinkMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -12,20 +12,6 @@
  *******************************************************************************/
 module dwtx.jface.text.hyperlink.HyperlinkMessages;
 
-import dwtx.jface.text.hyperlink.IHyperlinkPresenterExtension; // packageimport
-import dwtx.jface.text.hyperlink.MultipleHyperlinkPresenter; // packageimport
-import dwtx.jface.text.hyperlink.HyperlinkManager; // packageimport
-import dwtx.jface.text.hyperlink.URLHyperlink; // packageimport
-import dwtx.jface.text.hyperlink.IHyperlinkDetectorExtension2; // packageimport
-import dwtx.jface.text.hyperlink.IHyperlinkDetector; // packageimport
-import dwtx.jface.text.hyperlink.IHyperlinkPresenter; // packageimport
-import dwtx.jface.text.hyperlink.URLHyperlinkDetector; // packageimport
-import dwtx.jface.text.hyperlink.DefaultHyperlinkPresenter; // packageimport
-import dwtx.jface.text.hyperlink.AbstractHyperlinkDetector; // packageimport
-import dwtx.jface.text.hyperlink.IHyperlinkDetectorExtension; // packageimport
-import dwtx.jface.text.hyperlink.IHyperlink; // packageimport
-
-
 import dwt.dwthelper.utils;
 
 import dwt.dwthelper.ResourceBundle;
@@ -37,13 +23,17 @@
  * @since 3.4
  */
 class HyperlinkMessages {
-//     private static const String BUNDLE_NAME= HyperlinkMessages.classinfo.getName();
-
-    private static const ResourceBundle RESOURCE_BUNDLE;//= ResourceBundle.getBundle(BUNDLE_NAME);
-
-    static this() {
-        RESOURCE_BUNDLE = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.hyperlink.HyperlinkMessages.properties"));
+    private static ResourceBundle RESOURCE_BUNDLE_;//= ResourceBundle.getBundle(BUNDLE_NAME);
+    private static ResourceBundle RESOURCE_BUNDLE(){
+        if( RESOURCE_BUNDLE_ is null ){
+            synchronized(HyperlinkMessages.classinfo ){
+                if( RESOURCE_BUNDLE_ is null ){
+                    RESOURCE_BUNDLE_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.hyperlink.HyperlinkMessages.properties"));
+                }
+            }
+        }
+        return RESOURCE_BUNDLE_;
     }
 
     private this() {
--- a/dwtx/jface/text/source/JFaceTextMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/source/JFaceTextMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -14,68 +14,6 @@
 
 module dwtx.jface.text.source.JFaceTextMessages;
 
-import dwtx.jface.text.source.ISharedTextColors; // packageimport
-import dwtx.jface.text.source.ILineRange; // packageimport
-import dwtx.jface.text.source.IAnnotationPresentation; // packageimport
-import dwtx.jface.text.source.IVerticalRulerInfoExtension; // packageimport
-import dwtx.jface.text.source.ICharacterPairMatcher; // packageimport
-import dwtx.jface.text.source.TextInvocationContext; // packageimport
-import dwtx.jface.text.source.LineChangeHover; // packageimport
-import dwtx.jface.text.source.IChangeRulerColumn; // packageimport
-import dwtx.jface.text.source.IAnnotationMap; // packageimport
-import dwtx.jface.text.source.IAnnotationModelListenerExtension; // packageimport
-import dwtx.jface.text.source.ISourceViewerExtension2; // packageimport
-import dwtx.jface.text.source.IAnnotationHover; // packageimport
-import dwtx.jface.text.source.ContentAssistantFacade; // packageimport
-import dwtx.jface.text.source.IAnnotationAccess; // packageimport
-import dwtx.jface.text.source.IVerticalRulerExtension; // packageimport
-import dwtx.jface.text.source.IVerticalRulerColumn; // packageimport
-import dwtx.jface.text.source.LineNumberRulerColumn; // packageimport
-import dwtx.jface.text.source.MatchingCharacterPainter; // packageimport
-import dwtx.jface.text.source.IAnnotationModelExtension; // packageimport
-import dwtx.jface.text.source.ILineDifferExtension; // packageimport
-import dwtx.jface.text.source.DefaultCharacterPairMatcher; // packageimport
-import dwtx.jface.text.source.LineNumberChangeRulerColumn; // packageimport
-import dwtx.jface.text.source.IAnnotationAccessExtension; // packageimport
-import dwtx.jface.text.source.ISourceViewer; // packageimport
-import dwtx.jface.text.source.AnnotationModel; // packageimport
-import dwtx.jface.text.source.ILineDifferExtension2; // packageimport
-import dwtx.jface.text.source.IAnnotationModelListener; // packageimport
-import dwtx.jface.text.source.IVerticalRuler; // packageimport
-import dwtx.jface.text.source.DefaultAnnotationHover; // packageimport
-import dwtx.jface.text.source.SourceViewer; // packageimport
-import dwtx.jface.text.source.SourceViewerConfiguration; // packageimport
-import dwtx.jface.text.source.AnnotationBarHoverManager; // packageimport
-import dwtx.jface.text.source.CompositeRuler; // packageimport
-import dwtx.jface.text.source.ImageUtilities; // packageimport
-import dwtx.jface.text.source.VisualAnnotationModel; // packageimport
-import dwtx.jface.text.source.IAnnotationModel; // packageimport
-import dwtx.jface.text.source.ISourceViewerExtension3; // packageimport
-import dwtx.jface.text.source.ILineDiffInfo; // packageimport
-import dwtx.jface.text.source.VerticalRulerEvent; // packageimport
-import dwtx.jface.text.source.ChangeRulerColumn; // packageimport
-import dwtx.jface.text.source.ILineDiffer; // packageimport
-import dwtx.jface.text.source.AnnotationModelEvent; // packageimport
-import dwtx.jface.text.source.AnnotationColumn; // packageimport
-import dwtx.jface.text.source.AnnotationRulerColumn; // packageimport
-import dwtx.jface.text.source.IAnnotationHoverExtension; // packageimport
-import dwtx.jface.text.source.AbstractRulerColumn; // packageimport
-import dwtx.jface.text.source.ISourceViewerExtension; // packageimport
-import dwtx.jface.text.source.AnnotationMap; // packageimport
-import dwtx.jface.text.source.IVerticalRulerInfo; // packageimport
-import dwtx.jface.text.source.IAnnotationModelExtension2; // packageimport
-import dwtx.jface.text.source.LineRange; // packageimport
-import dwtx.jface.text.source.IAnnotationAccessExtension2; // packageimport
-import dwtx.jface.text.source.VerticalRuler; // packageimport
-import dwtx.jface.text.source.IOverviewRuler; // packageimport
-import dwtx.jface.text.source.Annotation; // packageimport
-import dwtx.jface.text.source.IVerticalRulerListener; // packageimport
-import dwtx.jface.text.source.ISourceViewerExtension4; // packageimport
-import dwtx.jface.text.source.AnnotationPainter; // packageimport
-import dwtx.jface.text.source.IAnnotationHoverExtension2; // packageimport
-import dwtx.jface.text.source.OverviewRuler; // packageimport
-import dwtx.jface.text.source.OverviewRulerHoverManager; // packageimport
-
 import dwt.dwthelper.utils;
 
 import dwt.dwthelper.ResourceBundle;
@@ -92,11 +30,18 @@
 //     private static const String RESOURCE_BUNDLE= "dwtx.jface.text.JFaceTextMessages";//$NON-NLS-1$
 
     /** The resource bundle. */
-    private static ResourceBundle fgResourceBundle;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+    private static ResourceBundle fgResourceBundle_;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
 
-    static this() {
-        fgResourceBundle = ResourceBundle.getBundle(
+    private static ResourceBundle fgResourceBundle(){
+        if( fgResourceBundle_ is null ){
+            synchronized(JFaceTextMessages.classinfo ){
+                if( fgResourceBundle_ is null ){
+                    fgResourceBundle_ = ResourceBundle.getBundle(
             getImportData!("dwtx.jface.text.JFaceTextMessages.properties"));
+                }
+            }
+        }
+        return fgResourceBundle_;
     }
 
     /**
--- a/dwtx/jface/text/templates/JFaceTextTemplateMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/templates/JFaceTextTemplateMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -12,26 +12,6 @@
  *******************************************************************************/
 module dwtx.jface.text.templates.JFaceTextTemplateMessages;
 
-import dwtx.jface.text.templates.SimpleTemplateVariableResolver; // packageimport
-import dwtx.jface.text.templates.TemplateBuffer; // packageimport
-import dwtx.jface.text.templates.TemplateContext; // packageimport
-import dwtx.jface.text.templates.TemplateContextType; // packageimport
-import dwtx.jface.text.templates.Template; // packageimport
-import dwtx.jface.text.templates.TemplateVariable; // packageimport
-import dwtx.jface.text.templates.PositionBasedCompletionProposal; // packageimport
-import dwtx.jface.text.templates.TemplateException; // packageimport
-import dwtx.jface.text.templates.TemplateTranslator; // packageimport
-import dwtx.jface.text.templates.DocumentTemplateContext; // packageimport
-import dwtx.jface.text.templates.GlobalTemplateVariables; // packageimport
-import dwtx.jface.text.templates.InclusivePositionUpdater; // packageimport
-import dwtx.jface.text.templates.TemplateProposal; // packageimport
-import dwtx.jface.text.templates.ContextTypeRegistry; // packageimport
-import dwtx.jface.text.templates.TemplateCompletionProcessor; // packageimport
-import dwtx.jface.text.templates.TextTemplateMessages; // packageimport
-import dwtx.jface.text.templates.TemplateVariableType; // packageimport
-import dwtx.jface.text.templates.TemplateVariableResolver; // packageimport
-
-
 import dwt.dwthelper.utils;
 
 import dwt.dwthelper.ResourceBundle;
@@ -42,12 +22,18 @@
  */
 class JFaceTextTemplateMessages {
 
-//     private static const String RESOURCE_BUNDLE= JFaceTextTemplateMessages.classinfo.getName();
-    private static ResourceBundle fgResourceBundle;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+    private static ResourceBundle fgResourceBundle_;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
 
-    static this() {
-        fgResourceBundle = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.templates.JFaceTextTemplateMessages.properties"));
+    private static ResourceBundle fgResourceBundle(){
+        if( fgResourceBundle_ is null ){
+            synchronized(JFaceTextTemplateMessages.classinfo ){
+                if( fgResourceBundle_ is null ){
+                    fgResourceBundle_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.templates.JFaceTextTemplateMessages.properties"));
+                }
+            }
+        }
+        return fgResourceBundle_;
     }
 
     private this() {
--- a/dwtx/jface/text/templates/TextTemplateMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/templates/TextTemplateMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -12,26 +12,6 @@
  *******************************************************************************/
 module dwtx.jface.text.templates.TextTemplateMessages;
 
-import dwtx.jface.text.templates.SimpleTemplateVariableResolver; // packageimport
-import dwtx.jface.text.templates.TemplateBuffer; // packageimport
-import dwtx.jface.text.templates.TemplateContext; // packageimport
-import dwtx.jface.text.templates.TemplateContextType; // packageimport
-import dwtx.jface.text.templates.Template; // packageimport
-import dwtx.jface.text.templates.TemplateVariable; // packageimport
-import dwtx.jface.text.templates.PositionBasedCompletionProposal; // packageimport
-import dwtx.jface.text.templates.TemplateException; // packageimport
-import dwtx.jface.text.templates.TemplateTranslator; // packageimport
-import dwtx.jface.text.templates.DocumentTemplateContext; // packageimport
-import dwtx.jface.text.templates.GlobalTemplateVariables; // packageimport
-import dwtx.jface.text.templates.InclusivePositionUpdater; // packageimport
-import dwtx.jface.text.templates.TemplateProposal; // packageimport
-import dwtx.jface.text.templates.ContextTypeRegistry; // packageimport
-import dwtx.jface.text.templates.JFaceTextTemplateMessages; // packageimport
-import dwtx.jface.text.templates.TemplateCompletionProcessor; // packageimport
-import dwtx.jface.text.templates.TemplateVariableType; // packageimport
-import dwtx.jface.text.templates.TemplateVariableResolver; // packageimport
-
-
 import dwt.dwthelper.utils;
 
 import dwt.dwthelper.ResourceBundle;
@@ -43,11 +23,17 @@
 class TextTemplateMessages {
 
 //     private static const String RESOURCE_BUNDLE= TextTemplateMessages.classinfo.getName();
-    private static ResourceBundle fgResourceBundle;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-    static this() {
-        fgResourceBundle = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.templates.TextTemplateMessages.properties"));
+    private static ResourceBundle fgResourceBundle_;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+    private static ResourceBundle fgResourceBundle(){
+        if( fgResourceBundle_ is null ){
+            synchronized(TextTemplateMessages.classinfo ){
+                if( fgResourceBundle_ is null ){
+                    fgResourceBundle_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.templates.TextTemplateMessages.properties"));
+                }
+            }
+        }
+        return fgResourceBundle_;
     }
 
     private this() {
--- a/dwtx/jface/text/templates/persistence/TemplatePersistenceMessages.d	Wed Sep 10 23:17:25 2008 +0200
+++ b/dwtx/jface/text/templates/persistence/TemplatePersistenceMessages.d	Thu Sep 11 00:32:24 2008 +0200
@@ -28,11 +28,17 @@
 class TemplatePersistenceMessages {
 
 //     private static const String RESOURCE_BUNDLE= TemplatePersistenceMessages.classinfo.getName();
-    private static ResourceBundle fgResourceBundle;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-    static this() {
-        fgResourceBundle = ResourceBundle.getBundle(
-            getImportData!("dwtx.jface.text.templates.persistence.TemplatePersistenceMessages.properties"));
+    private static ResourceBundle fgResourceBundle_;//= ResourceBundle.getBundle(RESOURCE_BUNDLE);
+    private static ResourceBundle fgResourceBundle(){
+        if( fgResourceBundle_ is null ){
+            synchronized(TemplatePersistenceMessages.classinfo ){
+                if( fgResourceBundle_ is null ){
+                    fgResourceBundle_ = ResourceBundle.getBundle(
+                        getImportData!("dwtx.jface.text.templates.persistence.TemplatePersistenceMessages.properties"));
+                }
+            }
+        }
+        return fgResourceBundle_;
     }
 
     private this() {