Mercurial > projects > dwt-addons
comparison dwtx/jface/text/hyperlink/MultipleHyperlinkPresenter.d @ 162:1a5b8f8129df
...
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Mon, 08 Sep 2008 00:51:37 +0200 |
parents | 25f1f92fa3df |
children | c3583c6ec027 |
comparison
equal
deleted
inserted
replaced
161:f8d52b926852 | 162:1a5b8f8129df |
---|---|
221 fTable.setBackground(fBackgroundColor); | 221 fTable.setBackground(fBackgroundColor); |
222 | 222 |
223 final TableViewer viewer= new TableViewer(fTable); | 223 final TableViewer viewer= new TableViewer(fTable); |
224 viewer.setContentProvider(new LinkContentProvider()); | 224 viewer.setContentProvider(new LinkContentProvider()); |
225 viewer.setLabelProvider(new LinkLabelProvider()); | 225 viewer.setLabelProvider(new LinkLabelProvider()); |
226 viewer.setInput(fInput); | 226 viewer.setInput(new ArrayWrapperObject( arraycast!(Object)(fInput))); |
227 fTable.setSelection(0); | 227 fTable.setSelection(0); |
228 | 228 |
229 registerTableListeners(); | 229 registerTableListeners(); |
230 | 230 |
231 getShell().addShellListener(new class() ShellAdapter { | 231 getShell().addShellListener(new class() ShellAdapter { |
247 | 247 |
248 fTable.addMouseMoveListener(new class() MouseMoveListener { | 248 fTable.addMouseMoveListener(new class() MouseMoveListener { |
249 TableItem fLastItem= null; | 249 TableItem fLastItem= null; |
250 | 250 |
251 public void mouseMove(MouseEvent e) { | 251 public void mouseMove(MouseEvent e) { |
252 if (fTable.equals(e.getSource())) { | 252 if (fTable.opEquals(e.getSource())) { |
253 Object o= fTable.getItem(new Point(e.x, e.y)); | 253 Object o= fTable.getItem(new Point(e.x, e.y)); |
254 if ( cast(TableItem)o ) { | 254 if ( cast(TableItem)o ) { |
255 TableItem item= cast(TableItem) o; | 255 TableItem item= cast(TableItem) o; |
256 if (!o.equals(fLastItem)) { | 256 if (!o.opEquals(fLastItem)) { |
257 fLastItem= cast(TableItem) o; | 257 fLastItem= cast(TableItem) o; |
258 fTable.setSelection([ fLastItem ]); | 258 fTable.setSelection([ fLastItem ]); |
259 } else if (e.y < fTable.getItemHeight() / 4) { | 259 } else if (e.y < fTable.getItemHeight() / 4) { |
260 // Scroll up | 260 // Scroll up |
261 int index= fTable.indexOf(item); | 261 int index= fTable.indexOf(item); |
288 return; | 288 return; |
289 | 289 |
290 if (e.button !is 1) | 290 if (e.button !is 1) |
291 return; | 291 return; |
292 | 292 |
293 if (fTable.equals(e.getSource())) { | 293 if (fTable.opEquals(e.getSource())) { |
294 Object o= fTable.getItem(new Point(e.x, e.y)); | 294 Object o= fTable.getItem(new Point(e.x, e.y)); |
295 TableItem selection= fTable.getSelection()[0]; | 295 TableItem selection= fTable.getSelection()[0]; |
296 if (selection.equals(o)) | 296 if (selection.opEquals(o)) |
297 openSelectedLink(); | 297 openSelectedLink(); |
298 } | 298 } |
299 } | 299 } |
300 }); | 300 }); |
301 | 301 |
344 | 344 |
345 /* | 345 /* |
346 * @see dwtx.jface.text.ITextHoverExtension2#getHoverInfo2(dwtx.jface.text.ITextViewer, dwtx.jface.text.IRegion) | 346 * @see dwtx.jface.text.ITextHoverExtension2#getHoverInfo2(dwtx.jface.text.ITextViewer, dwtx.jface.text.IRegion) |
347 */ | 347 */ |
348 public Object getHoverInfo2(ITextViewer textViewer, IRegion hoverRegion) { | 348 public Object getHoverInfo2(ITextViewer textViewer, IRegion hoverRegion) { |
349 return fHyperlinks; | 349 return new ArrayWrapperObject( arraycast!(Object)(fHyperlinks)); |
350 } | 350 } |
351 | 351 |
352 /* | 352 /* |
353 * @see dwtx.jface.text.ITextHoverExtension#getHoverControlCreator() | 353 * @see dwtx.jface.text.ITextHoverExtension#getHoverControlCreator() |
354 */ | 354 */ |
538 * @see dwtx.jface.text.AbstractInformationControlManager#computeInformation() | 538 * @see dwtx.jface.text.AbstractInformationControlManager#computeInformation() |
539 */ | 539 */ |
540 protected void computeInformation() { | 540 protected void computeInformation() { |
541 IRegion region= fHover.getHoverRegion(fTextViewer, -1); | 541 IRegion region= fHover.getHoverRegion(fTextViewer, -1); |
542 if (region is null) { | 542 if (region is null) { |
543 setInformation(null, null); | 543 setInformation(cast(Object)null, cast(Rectangle)null); |
544 return; | 544 return; |
545 } | 545 } |
546 | 546 |
547 Rectangle area= JFaceTextUtil.computeArea(region, fTextViewer); | 547 Rectangle area= JFaceTextUtil.computeArea(region, fTextViewer); |
548 if (area is null || area.isEmpty()) { | 548 if (area is null || area.isEmpty()) { |
549 setInformation(null, null); | 549 setInformation(cast(Object)null, cast(Rectangle)null); |
550 return; | 550 return; |
551 } | 551 } |
552 | 552 |
553 Object information= fHover.getHoverInfo2(fTextViewer, region); | 553 Object information= fHover.getHoverInfo2(fTextViewer, region); |
554 setCustomInformationControlCreator(fHover.getHoverControlCreator()); | 554 setCustomInformationControlCreator(fHover.getHoverControlCreator()); |