# HG changeset patch # User Frank Benoit # Date 1220975051 -7200 # Node ID cef27f6635734feffaf4735ca629e80117e55c4e # Parent 862b05e0334a596a71a1c7a44ef67d9af62de6bf jface.text ... diff -r 862b05e0334a -r cef27f663573 dwtx/jface/internal/text/link/contentassist/AdditionalInfoController2.d --- a/dwtx/jface/internal/text/link/contentassist/AdditionalInfoController2.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/internal/text/link/contentassist/AdditionalInfoController2.d Tue Sep 09 17:44:11 2008 +0200 @@ -26,6 +26,8 @@ import dwt.dwthelper.utils; import dwtx.dwtxhelper.JThread; +import tango.core.sync.Mutex; +import tango.core.sync.Condition; import dwt.events.SelectionEvent; import dwt.events.SelectionListener; @@ -76,11 +78,13 @@ /** Indicates whether the display delay has been reset */ private bool fIsReset= false; /** Object to synchronize display thread and table selection changes */ - private const Object fMutex; + private const Mutex fMutex; + private const Condition fMutex_cond; /** Thread access lock. */ private const Object fThreadAccess; /** Object to synchronize initial display of additional info */ - private Object fStartSignal; + private Mutex fStartSignal; + private Condition fStartSignal_cond; /** The table selection listener */ private SelectionListener fSelectionListener; /** The delay after which additional information is displayed */ @@ -96,7 +100,8 @@ this(IInformationControlCreator creator, int delay) { fSelectionListener= new TableSelectionListener(); fThreadAccess= new Object(); - fMutex= new Object(); + fMutex= new Mutex(); + fMutex_cond= new Condition(fMutex); super(creator); fDelay= delay; setAnchor(ANCHOR_RIGHT); @@ -123,12 +128,13 @@ fThread.interrupt(); fThread= new JThread(this, ContentAssistMessages.getString("InfoPopup.info_delay_timer_name")); //$NON-NLS-1$ - fStartSignal= new Object(); + fStartSignal= new Mutex(); + fStartSignal_cond= new Condition(fStartSignal); synchronized (fStartSignal) { fThread.start(); try { // wait until thread is ready - fStartSignal.wait(); + fStartSignal_cond.wait(); } catch (InterruptedException x) { } } @@ -166,18 +172,19 @@ if (fStartSignal !is null) { synchronized (fStartSignal) { - fStartSignal.notifyAll(); + fStartSignal_cond.notifyAll(); fStartSignal= null; + fStartSignal_cond = null; } } // Wait for a selection event to occur. - fMutex.wait(); + fMutex_cond.wait(); while (true) { fIsReset= false; // Delay before showing the popup. - fMutex.wait(fDelay); + fMutex_cond.wait(fDelay); if (!fIsReset) break; } @@ -211,7 +218,7 @@ if (fProposalTable !is null && !fProposalTable.isDisposed() && fProposalTable.isVisible()) { synchronized (fMutex) { fIsReset= true; - fMutex.notifyAll(); + fMutex_cond.notifyAll(); } } } diff -r 862b05e0334a -r cef27f663573 dwtx/jface/internal/text/link/contentassist/ContentAssistant2.d --- a/dwtx/jface/internal/text/link/contentassist/ContentAssistant2.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/internal/text/link/contentassist/ContentAssistant2.d Tue Sep 09 17:44:11 2008 +0200 @@ -25,6 +25,8 @@ import dwt.dwthelper.utils; import dwtx.dwtxhelper.Collection; import dwtx.dwtxhelper.JThread; +import tango.core.sync.Mutex; +import tango.core.sync.Condition; import dwt.DWT; import dwt.DWTError; @@ -232,28 +234,31 @@ private JThread fThread; private bool fIsReset= false; - private Object fMutex= new Object(); + private Mutex fMutex; + private Condition fMutex_cond; private int fShowStyle; private const static int SHOW_PROPOSALS= 1; private const static int SHOW_CONTEXT_INFO= 2; protected this() { + fMutex = new Mutex(); + fMutex_cond = new Condition(fMutex); } protected void start(int showStyle) { fShowStyle= showStyle; - fThread= new Thread(&run); - fThread.name = ContentAssistMessages.getString("ContentAssistant.assist_delay_timer_name"); //$NON-NLS-1$ + fThread= new JThread(this); + fThread.setName( ContentAssistMessages.getString("ContentAssistant.assist_delay_timer_name")); //$NON-NLS-1$ fThread.start(); } - public void run() { + public override void run() { try { while (true) { synchronized (fMutex) { if (fAutoActivationDelay !is 0) - fMutex.wait(fAutoActivationDelay); + fMutex_cond.wait(fAutoActivationDelay); if (fIsReset) { fIsReset= false; continue; @@ -271,12 +276,12 @@ synchronized (fMutex) { fShowStyle= showStyle; fIsReset= true; - fMutex.notifyAll(); + fMutex_cond.notifyAll(); } } protected void stop() { - Thread threadToStop= fThread; + JThread threadToStop= fThread; if (threadToStop !is null) threadToStop.interrupt(); } @@ -357,8 +362,13 @@ public const static int LAYOUT_CONTEXT_INFO_POPUP= 2; int fContextType= LAYOUT_CONTEXT_SELECTOR; - Shell[] fShells= new Shell[3]; - Object[] fPopups= new Object[3]; + Shell[] fShells; + Object[] fPopups; + + this(){ + fShells= new Shell[3]; + fPopups= new Object[3]; + } protected void add(Object popup, Shell shell, int type, int offset) { Assert.isNotNull(popup); @@ -632,7 +642,7 @@ * @see VerifyKeyListener#verifyKey(dwt.events.VerifyEvent) */ public void verifyKey(VerifyEvent e) { - IContentAssistListener2[] listeners= arraycast!(IContentAssistListener2)( fListeners.clone()); + IContentAssistListener2[] listeners= arraycast!(IContentAssistListener2)( fListeners.dup ); for (int i= 0; i < listeners.length; i++) { if (listeners[i] !is null) { if (!listeners[i].verifyKey(e) || !e.doit) @@ -648,7 +658,7 @@ installKeyListener(); - IContentAssistListener2[] listeners= arraycast!(IContentAssistListener2)(fListeners.clone()); + IContentAssistListener2[] listeners= arraycast!(IContentAssistListener2)( fListeners.dup ); for (int i= 0; i < listeners.length; i++) { if (listeners[i] !is null) { listeners[i].processEvent(event); @@ -661,9 +671,9 @@ // Content-Assist Listener types - final static int CONTEXT_SELECTOR= 0; - final static int PROPOSAL_SELECTOR= 1; - final static int CONTEXT_INFO_POPUP= 2; + const static int CONTEXT_SELECTOR= 0; + const static int PROPOSAL_SELECTOR= 1; + const static int CONTEXT_INFO_POPUP= 2; /** * The popup priority: > info pop-ups, < standard content assist. @@ -701,11 +711,11 @@ private ContextInformationPopup2 fContextInfoPopup; private bool fKeyListenerHooked= false; - private IContentAssistListener2[] fListeners= new IContentAssistListener2[4]; + private IContentAssistListener2[] fListeners; private int fCompletionPosition; private String[] fProposalStrings; private ICompletionProposal[] fProposals; - private const List fProposalListeners= new ArrayList(); + private const List fProposalListeners; /** * Tells whether colored label support is enabled. @@ -722,6 +732,9 @@ * is activated after a 500 ms delay. It uses the default partitioning. */ public this() { + fListeners= new IContentAssistListener2[4]; + fProposalListeners= new ArrayList(); + setContextInformationPopupOrientation(CONTEXT_INFO_ABOVE); setInformationControlCreator(getInformationControlCreator()); @@ -786,7 +799,7 @@ if (processor is null) fProcessors.remove(contentType); else - fProcessors.put(contentType, processor); + fProcessors.put(contentType, cast(Object)processor); } /* @@ -1014,7 +1027,7 @@ * @see IContentAssist#install */ public void install(ITextViewer textViewer) { - Assert.isNotNull(textViewer); + Assert.isNotNull(cast(Object)textViewer); fViewer= textViewer; @@ -1026,7 +1039,7 @@ int delay= fAutoActivationDelay; if (delay is 0) delay= DEFAULT_AUTO_ACTIVATION_DELAY; - delay= Math.round(delay * 1.5f); + delay= cast(int)Math.round(delay * 1.5f); controller= new AdditionalInfoController2(fInformationControlCreator, delay); } fContextInfoPopup= new ContextInformationPopup2(this, fViewer); @@ -1568,14 +1581,14 @@ * @param listener */ public void removeProposalListener(IProposalListener listener) { - fProposalListeners.remove(listener); + fProposalListeners.remove(cast(Object)listener); } /** * @param listener */ public void addProposalListener(IProposalListener listener) { - fProposalListeners.add(listener); + fProposalListeners.add(cast(Object)listener); } /** diff -r 862b05e0334a -r cef27f663573 dwtx/jface/text/ITextOperationTarget.d --- a/dwtx/jface/text/ITextOperationTarget.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/text/ITextOperationTarget.d Tue Sep 09 17:44:11 2008 +0200 @@ -12,147 +12,6 @@ *******************************************************************************/ module dwtx.jface.text.ITextOperationTarget; -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.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; diff -r 862b05e0334a -r cef27f663573 dwtx/jface/text/ITextViewer.d --- a/dwtx/jface/text/ITextViewer.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/text/ITextViewer.d Tue Sep 09 17:44:11 2008 +0200 @@ -12,152 +12,23 @@ *******************************************************************************/ module dwtx.jface.text.ITextViewer; -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.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.custom.StyledText; import dwt.graphics.Color; import dwt.graphics.Point; @@ -611,7 +482,7 @@ /** * Sets the selection to the specified range. - * + * * @param offset the offset of the selection range * @param length the length of the selection range. A negative length places * the caret at the visual start of the selection. diff -r 862b05e0334a -r cef27f663573 dwtx/jface/text/contentassist/AdditionalInfoController.d --- a/dwtx/jface/text/contentassist/AdditionalInfoController.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/text/contentassist/AdditionalInfoController.d Tue Sep 09 17:44:11 2008 +0200 @@ -292,15 +292,15 @@ long current= System.currentTimeMillis(); schedule(IDLE, current); - void threadrun() { - try { - loop(); - } catch (InterruptedException x) { - } + fThread= new JThread( &threadrun ); + fThread.serName( JFaceTextMessages.getString("InfoPopup.info_delay_timer_name")); //$NON-NLS-1$ + fThread.start(); + } + void threadrun() { + try { + loop(); + } catch (InterruptedException x) { } - fThread= new Thread( &threadrun ); - fThread.name = JFaceTextMessages.getString("InfoPopup.info_delay_timer_name"); //$NON-NLS-1$ - fThread.start(); } /** diff -r 862b05e0334a -r cef27f663573 dwtx/jface/text/contentassist/ContentAssistant.d --- a/dwtx/jface/text/contentassist/ContentAssistant.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/text/contentassist/ContentAssistant.d Tue Sep 09 17:44:11 2008 +0200 @@ -49,6 +49,8 @@ import dwt.dwthelper.utils; import dwtx.dwtxhelper.Collection; import dwtx.dwtxhelper.JThread; +import tango.core.sync.Mutex; +import tango.core.sync.Condition; import dwt.DWT; import dwt.DWTError; @@ -276,30 +278,38 @@ */ protected class AutoAssistListener : KeyAdapter , KeyListener, Runnable, VerifyKeyListener { + // DWT intf impl + public void keyReleased(KeyEvent e) { + super.keyReleased(e); + } + private JThread fThread; private bool fIsReset= false; - private Object fMutex= new Object(); + private Mutex fMutex; + private Condition fMutex_cond; private int fShowStyle; private const static int SHOW_PROPOSALS= 1; private const static int SHOW_CONTEXT_INFO= 2; protected this() { + fMutex = new Mutex(); + fMutex_cond = new Condition(fMutex); } protected void start(int showStyle) { fShowStyle= showStyle; - fThread= new Thread(&run); - fThread.name = JFaceTextMessages.getString("ContentAssistant.assist_delay_timer_name"); //$NON-NLS-1$ + fThread= new JThread(this); + fThread.setName( JFaceTextMessages.getString("ContentAssistant.assist_delay_timer_name")); //$NON-NLS-1$ fThread.start(); } - public void run() { + public override void run() { try { while (true) { synchronized (fMutex) { if (fAutoActivationDelay !is 0) - fMutex.wait(fAutoActivationDelay); + fMutex_cond.wait(fAutoActivationDelay); if (fIsReset) { fIsReset= false; continue; @@ -317,12 +327,12 @@ synchronized (fMutex) { fShowStyle= showStyle; fIsReset= true; - fMutex.notifyAll(); + fMutex_cond.notifyAll(); } } protected void stop() { - Thread threadToStop= fThread; + JThread threadToStop= fThread; if (threadToStop !is null && threadToStop.isAlive()) threadToStop.interrupt(); } @@ -432,8 +442,13 @@ public const static int LAYOUT_CONTEXT_INFO_POPUP= 2; int fContextType= LAYOUT_CONTEXT_SELECTOR; - Shell[] fShells= new Shell[3]; - Object[] fPopups= new Object[3]; + Shell[] fShells; + Object[] fPopups; + + this(){ + fShells= new Shell[3]; + fPopups= new Object[3]; + } protected void add(Object popup, Shell shell, int type, int offset) { Assert.isNotNull(popup); @@ -668,7 +683,7 @@ Control subjectControl= fContentAssistSubjectControlAdapter.getControl(); Display display= subjectControl.getDisplay(); Rectangle caret= getCaretRectangle(offset); - Monitor monitor= getClosestMonitor(display, caret); + dwt.widgets.Monitor.Monitor monitor= getClosestMonitor(display, caret); Rectangle bounds= monitor.getClientArea(); Geometry.moveInside(caret, bounds); @@ -708,7 +723,7 @@ Control subjectControl= fContentAssistSubjectControlAdapter.getControl(); Display display= subjectControl.getDisplay(); Rectangle caret= getCaretRectangle(offset); - Monitor monitor= getClosestMonitor(display, caret); + dwt.widgets.Monitor.Monitor monitor= getClosestMonitor(display, caret); Rectangle bounds= monitor.getClientArea(); Geometry.moveInside(caret, bounds); @@ -761,7 +776,7 @@ p= parent.toDisplay(p); Point shellSize= shell.getSize(); - Monitor monitor= getClosestMonitor(parent.getDisplay(), new Rectangle(p.x, p.y, 0, 0)); + dwt.widgets.Monitor.Monitor monitor= getClosestMonitor(parent.getDisplay(), new Rectangle(p.x, p.y, 0, 0)); Rectangle displayBounds= monitor.getClientArea(); constrainLocation(p, shellSize, displayBounds); @@ -800,15 +815,15 @@ * @return the monitor closest to the given point * @since 3.3 */ - private Monitor getClosestMonitor(Display toSearch, Rectangle rectangle) { + private dwt.widgets.Monitor.Monitor getClosestMonitor(Display toSearch, Rectangle rectangle) { int closest = Integer.MAX_VALUE; Point toFind= Geometry.centerPoint(rectangle); - Monitor[] monitors = toSearch.getMonitors(); - Monitor result = monitors[0]; + dwt.widgets.Monitor.Monitor[] monitors = toSearch.getMonitors(); + dwt.widgets.Monitor.Monitor result = monitors[0]; for (int idx = 0; idx < monitors.length; idx++) { - Monitor current = monitors[idx]; + dwt.widgets.Monitor.Monitor current = monitors[idx]; Rectangle clientArea = current.getClientArea(); @@ -840,7 +855,7 @@ * @see VerifyKeyListener#verifyKey(dwt.events.VerifyEvent) */ public void verifyKey(VerifyEvent e) { - IContentAssistListener[] listeners= arraycast!(IContentAssistListener)( fListeners.clone() ); + IContentAssistListener[] listeners= arraycast!(IContentAssistListener)( fListeners.dup ); for (int i= 0; i < listeners.length; i++) { if (listeners[i] !is null) { if (!listeners[i].verifyKey(e) || !e.doit) @@ -858,7 +873,7 @@ installKeyListener(); - IContentAssistListener[] listeners= arraycast!(IContentAssistListener)( fListeners.clone() ); + IContentAssistListener[] listeners= arraycast!(IContentAssistListener)( fListeners.dup ); for (int i= 0; i < listeners.length; i++) { if (listeners[i] !is null) { listeners[i].processEvent(event); @@ -878,9 +893,9 @@ public static const String STORE_SIZE_Y= "size.y"; //$NON-NLS-1$ // Content-Assist Listener types - final static int CONTEXT_SELECTOR= 0; - final static int PROPOSAL_SELECTOR= 1; - final static int CONTEXT_INFO_POPUP= 2; + const static int CONTEXT_SELECTOR= 0; + const static int PROPOSAL_SELECTOR= 1; + const static int CONTEXT_INFO_POPUP= 2; /** * The popup priority: > linked position proposals and hover pop-ups. Default value: @@ -1075,7 +1090,7 @@ if (processor is null) fProcessors.remove(contentType); else - fProcessors.put(contentType, processor); + fProcessors.put(contentType, cast(Object)processor); } /* @@ -1101,7 +1116,7 @@ StringBuffer buf= new StringBuffer(5); Iterator iter= fProcessors.entrySet().iterator(); while (iter.hasNext()) { - Entry entry= cast(Entry) iter.next(); + Map.Entry entry= cast(Map.Entry) iter.next(); IContentAssistProcessor processor= cast(IContentAssistProcessor) entry.getValue(); char[] triggers= processor.getCompletionProposalAutoActivationCharacters(); if (triggers !is null) @@ -1414,7 +1429,7 @@ int delay= fAutoActivationDelay; if (delay is 0) delay= DEFAULT_AUTO_ACTIVATION_DELAY; - delay= Math.round(delay * 1.5f); + delay= cast(int)Math.round(delay * 1.5f); controller= new AdditionalInfoController(fInformationControlCreator, delay); } @@ -2241,7 +2256,7 @@ */ public void addCompletionListener(ICompletionListener listener) { Assert.isLegal(listener !is null); - fCompletionListeners.add(listener); + fCompletionListeners.add(cast(Object)listener); } /* @@ -2249,7 +2264,7 @@ * @since 3.2 */ public void removeCompletionListener(ICompletionListener listener) { - fCompletionListeners.remove(listener); + fCompletionListeners.remove(cast(Object)listener); } /** @@ -2478,7 +2493,7 @@ protected final void registerHandler(String commandId, IHandler handler) { if (fHandlers is null) fHandlers= new HashMap(2); - fHandlers.put(commandId, handler); + fHandlers.put(commandId, cast(Object)handler); } /** diff -r 862b05e0334a -r cef27f663573 dwtx/jface/text/source/ISourceViewer.d --- a/dwtx/jface/text/source/ISourceViewer.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/text/source/ISourceViewer.d Tue Sep 09 17:44:11 2008 +0200 @@ -12,68 +12,10 @@ *******************************************************************************/ module dwtx.jface.text.source.ISourceViewer; -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.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.JFaceTextMessages; // 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 dwtx.jface.text.source.SourceViewerConfiguration; +import dwtx.jface.text.source.IAnnotationHover; +import dwtx.jface.text.source.IAnnotationModel; +import dwtx.jface.text.source.Annotation; import dwt.dwthelper.utils; diff -r 862b05e0334a -r cef27f663573 dwtx/jface/text/templates/persistence/TemplatePersistenceMessages.properties --- a/dwtx/jface/text/templates/persistence/TemplatePersistenceMessages.properties Tue Sep 09 15:59:16 2008 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2005 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -TemplateReaderWriter.duplicate.id= Duplicate template id -TemplateReaderWriter.error.missing_attribute= Missing required attribute -TemplateReaderWriter.error.illegal_boolean_attribute= Illegal boolean attribute, must be "true" or "false". diff -r 862b05e0334a -r cef27f663573 dwtx/jface/text/templates/persistence/TemplateReaderWriter.d --- a/dwtx/jface/text/templates/persistence/TemplateReaderWriter.d Tue Sep 09 15:59:16 2008 +0200 +++ b/dwtx/jface/text/templates/persistence/TemplateReaderWriter.d Tue Sep 09 17:44:11 2008 +0200 @@ -19,6 +19,7 @@ import dwt.dwthelper.utils; import dwt.dwthelper.InputStream; +import dwt.dwthelper.OutputStream; import dwtx.dwtxhelper.Collection; import dwt.dwthelper.ResourceBundle; @@ -102,9 +103,10 @@ * @since 3.1 */ public TemplatePersistenceData readSingle(Reader reader, String id) { - TemplatePersistenceData[] datas= read(new InputSource(reader), null, id); + implMissing(__FILE__,__LINE__); +/+ TemplatePersistenceData[] datas= read(new InputSource(reader), null, id); if (datas.length > 0) - return datas[0]; + return datas[0];+/ return null; } @@ -117,7 +119,9 @@ * @throws IOException if reading from the stream fails */ public TemplatePersistenceData[] read(Reader reader, ResourceBundle bundle) { - return read(new InputSource(reader), bundle, null); + implMissing(__FILE__,__LINE__); + return null; +// return read(new InputSource(reader), bundle, null); } /** @@ -129,9 +133,11 @@ * @throws IOException if reading from the stream fails */ public TemplatePersistenceData[] read(InputStream stream, ResourceBundle bundle) { - return read(new InputSource(stream), bundle, null); + implMissing(__FILE__,__LINE__); + return null; +// return read(new InputSource(stream), bundle, null); } - +/++ /** * Reads templates from an InputSource and adds them to the templates. * @@ -219,7 +225,7 @@ return null; // dummy } - +++/ /** * Saves the templates as XML, encoded as UTF-8 onto the given byte stream. * @@ -228,7 +234,8 @@ * @throws IOException if writing the templates fails */ public void save(TemplatePersistenceData[] templates, OutputStream stream) { - save(templates, new StreamResult(stream)); + implMissing(__FILE__,__LINE__); +// save(templates, new StreamResult(stream)); } /** @@ -239,9 +246,11 @@ * @throws IOException if writing the templates fails */ public void save(TemplatePersistenceData[] templates, Writer writer) { - save(templates, new StreamResult(writer)); + implMissing(__FILE__,__LINE__); +// save(templates, new StreamResult(writer)); } +/++ /** * Saves the templates as XML. * @@ -386,5 +395,6 @@ } return TemplatePersistenceMessages.getString(key); // default messages } +++/ } diff -r 862b05e0334a -r cef27f663573 res/dwtx.jface.text.templates.persistence.TemplatePersistenceMessages.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/res/dwtx.jface.text.templates.persistence.TemplatePersistenceMessages.properties Tue Sep 09 17:44:11 2008 +0200 @@ -0,0 +1,14 @@ +############################################################################### +# Copyright (c) 2000, 2005 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### + +TemplateReaderWriter.duplicate.id= Duplicate template id +TemplateReaderWriter.error.missing_attribute= Missing required attribute +TemplateReaderWriter.error.illegal_boolean_attribute= Illegal boolean attribute, must be "true" or "false".