# HG changeset patch # User Frank Benoit # Date 1221085944 -7200 # Node ID c6d7b1ea700bd379fb86cefc0d1c795f55507444 # Parent 8995e830f75e94620a0e637240279290aed8ce7c First sample running diff -r 8995e830f75e -r c6d7b1ea700b dsss.conf --- 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 diff -r 8995e830f75e -r c6d7b1ea700b dwtx/dwtxhelper/Collection.d --- 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; } } diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/internal/text/html/HTML2TextReader.d --- 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; diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/DefaultDocumentAdapter.d --- 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; } } diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/JFaceTextMessages.d --- 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() { diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/RegExMessages.d --- 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() { diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/TextMessages.d --- 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() { } diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/TextViewer.d --- 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)); } /** diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/contentassist/JFaceTextMessages.d --- 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() { diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/hyperlink/HyperlinkMessages.d --- 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() { diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/source/JFaceTextMessages.d --- 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_; } /** diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/templates/JFaceTextTemplateMessages.d --- 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() { diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/templates/TextTemplateMessages.d --- 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() { diff -r 8995e830f75e -r c6d7b1ea700b dwtx/jface/text/templates/persistence/TemplatePersistenceMessages.d --- 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() {