Mercurial > projects > dwt-addons
comparison dwtx/jface/text/TextViewerHoverManager.d @ 162:1a5b8f8129df
...
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Mon, 08 Sep 2008 00:51:37 +0200 |
parents | f8d52b926852 |
children | 862b05e0334a |
comparison
equal
deleted
inserted
replaced
161:f8d52b926852 | 162:1a5b8f8129df |
---|---|
194 /** The hover information computation thread */ | 194 /** The hover information computation thread */ |
195 private Thread fThread; | 195 private Thread fThread; |
196 /** The stopper of the computation thread */ | 196 /** The stopper of the computation thread */ |
197 private ITextListener fStopper; | 197 private ITextListener fStopper; |
198 /** Internal monitor */ | 198 /** Internal monitor */ |
199 private Object fMutex= new Object(); | 199 private Object fMutex; |
200 /** The currently shown text hover. */ | 200 /** The currently shown text hover. */ |
201 private /+volatile+/ ITextHover fTextHover; | 201 private /+volatile+/ ITextHover fTextHover; |
202 /** | 202 /** |
203 * Tells whether the next mouse hover event | 203 * Tells whether the next mouse hover event |
204 * should be processed. | 204 * should be processed. |
223 * | 223 * |
224 * @param textViewer the viewer for which the controller is created | 224 * @param textViewer the viewer for which the controller is created |
225 * @param creator the information control creator | 225 * @param creator the information control creator |
226 */ | 226 */ |
227 public this(TextViewer textViewer, IInformationControlCreator creator) { | 227 public this(TextViewer textViewer, IInformationControlCreator creator) { |
228 fMutex= new Object(); | |
228 super(creator); | 229 super(creator); |
229 fTextViewer= textViewer; | 230 fTextViewer= textViewer; |
230 fStopper= new class() ITextListener { | 231 fStopper= new class() ITextListener { |
231 public void textChanged(TextEvent event) { | 232 public void textChanged(TextEvent event) { |
232 synchronized (fMutex) { | 233 synchronized (fMutex) { |
349 } | 350 } |
350 fThread= new Thread( &threadrun ); | 351 fThread= new Thread( &threadrun ); |
351 fThread.name = "Text Viewer Hover Presenter"; //$NON-NLS-1$ | 352 fThread.name = "Text Viewer Hover Presenter"; //$NON-NLS-1$ |
352 | 353 |
353 fThread.isDaemon(true); | 354 fThread.isDaemon(true); |
354 fThread.setPriority(Thread.MIN_PRIORITY); | 355 fThread.priority(Thread.PRIORITY_MIN); |
355 synchronized (fMutex) { | 356 synchronized (fMutex) { |
356 fTextViewer.addTextListener(fStopper); | 357 fTextViewer.addTextListener(fStopper); |
357 fThread.start(); | 358 fThread.start(); |
358 } | 359 } |
359 } | 360 } |
412 if ( cast(ITextViewerExtension5)fTextViewer ) { | 413 if ( cast(ITextViewerExtension5)fTextViewer ) { |
413 ITextViewerExtension5 extension= cast(ITextViewerExtension5) fTextViewer; | 414 ITextViewerExtension5 extension= cast(ITextViewerExtension5) fTextViewer; |
414 return extension.widgetOffset2ModelOffset(widgetOffset); | 415 return extension.widgetOffset2ModelOffset(widgetOffset); |
415 } | 416 } |
416 | 417 |
417 return widgetOffset + fTextViewer._getVisibleRegionOffset(); | 418 return widgetOffset + fTextViewer._getVisibleRegionOffset_package(); |
418 | 419 |
419 } catch (IllegalArgumentException e) { | 420 } catch (IllegalArgumentException e) { |
420 return -1; | 421 return -1; |
421 } | 422 } |
422 } | 423 } |
515 * @return the currently shown text hover or <code>null</code> | 516 * @return the currently shown text hover or <code>null</code> |
516 */ | 517 */ |
517 protected ITextHover getCurrentTextHover() { | 518 protected ITextHover getCurrentTextHover() { |
518 return fTextHover; | 519 return fTextHover; |
519 } | 520 } |
521 package ITextHover getCurrentTextHover_package() { | |
522 return getCurrentTextHover(); | |
523 } | |
520 | 524 |
521 /* | 525 /* |
522 * @see dwtx.jface.text.AbstractHoverInformationControlManager#dispose() | 526 * @see dwtx.jface.text.AbstractHoverInformationControlManager#dispose() |
523 * @since 3.0 | 527 * @since 3.0 |
524 */ | 528 */ |