Mercurial > projects > dwt-addons
diff dwtx/jface/internal/text/revisions/RevisionSelectionProvider.d @ 162:1a5b8f8129df
...
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Mon, 08 Sep 2008 00:51:37 +0200 |
parents | 75302ef3f92f |
children |
line wrap: on
line diff
--- a/dwtx/jface/internal/text/revisions/RevisionSelectionProvider.d Wed Aug 27 14:49:30 2008 +0200 +++ b/dwtx/jface/internal/text/revisions/RevisionSelectionProvider.d Mon Sep 08 00:51:37 2008 +0200 @@ -47,7 +47,7 @@ * <p> * Calling {@link #setSelection(ISelection)} will set the current sticky revision on the ruler. * </p> - * + * * @since 3.2 */ public final class RevisionSelectionProvider : ISelectionProvider { @@ -71,17 +71,17 @@ int offset= ts.getOffset(); setSelectedRevision(fPainter.getRevision(offset)); } - + } - + public void dispose() { fPostProvider.removePostSelectionChangedListener(this); } } private const RevisionPainter fPainter; - private const ListenerList fListeners= new ListenerList(); - + private const ListenerList fListeners; + /** * The text viewer once we are installed, <code>null</code> if not installed. */ @@ -103,10 +103,11 @@ /** * Creates a new selection provider. - * + * * @param painter the painter that the created provider interacts with */ this(RevisionPainter painter) { + fListeners= new ListenerList(); fPainter= painter; } @@ -114,16 +115,16 @@ * @see dwtx.jface.viewers.ISelectionProvider#addSelectionChangedListener(dwtx.jface.viewers.ISelectionChangedListener) */ public void addSelectionChangedListener(ISelectionChangedListener listener) { - fListeners.add(listener); + fListeners.add(cast(Object)listener); } /* * @see dwtx.jface.viewers.ISelectionProvider#removeSelectionChangedListener(dwtx.jface.viewers.ISelectionChangedListener) */ public void removeSelectionChangedListener(ISelectionChangedListener listener) { - fListeners.remove(listener); + fListeners.remove(cast(Object)listener); } - + /* * @see dwtx.jface.viewers.ISelectionProvider#getSelection() */ @@ -143,8 +144,8 @@ Object first= (cast(IStructuredSelection) selection).getFirstElement(); if ( cast(Revision)first ) fPainter.handleRevisionSelected(cast(Revision) first); - else if ( cast(String)first ) - fPainter.handleRevisionSelected(cast(String) first); + else if ( auto str = cast(ArrayWrapperString)first ) + fPainter.handleRevisionSelected(str.array); else if (selection.isEmpty()) fPainter.handleRevisionSelected(cast(Revision) null); } @@ -152,7 +153,7 @@ /** * Installs the selection provider on the viewer. - * + * * @param viewer the viewer on which we listen to for post selection events */ void install(ITextViewer viewer) { @@ -166,7 +167,7 @@ } } } - + /** * Uninstalls the selection provider. */ @@ -180,7 +181,7 @@ /** * Private protocol used by {@link RevisionPainter} to signal selection of a revision. - * + * * @param revision the selected revision, or <code>null</code> for none */ void revisionSelected(Revision revision) { @@ -189,7 +190,7 @@ /** * Updates the currently selected revision and sends out an event if it changed. - * + * * @param revision the newly selected revision or <code>null</code> for none */ private void setSelectedRevision(Revision revision) {