comparison dwtx/jface/text/hyperlink/HyperlinkManager.d @ 134:51e6e63f930e

Regex fix for casts
author Frank Benoit <benoit@tionex.de>
date Sun, 24 Aug 2008 01:46:20 +0200
parents 7d818bd32d63
children b6bad70d540a
comparison
equal deleted inserted replaced
133:7d818bd32d63 134:51e6e63f930e
268 IHyperlinkDetector detector= fHyperlinkDetectors[i]; 268 IHyperlinkDetector detector= fHyperlinkDetectors[i];
269 if (detector is null) 269 if (detector is null)
270 continue; 270 continue;
271 271
272 if (detector instanceof IHyperlinkDetectorExtension2) { 272 if (detector instanceof IHyperlinkDetectorExtension2) {
273 int stateMask= ((IHyperlinkDetectorExtension2)detector).getStateMask(); 273 int stateMask= (cast(IHyperlinkDetectorExtension2)detector).getStateMask();
274 if (stateMask !is -1 && stateMask !is fActiveHyperlinkStateMask) 274 if (stateMask !is -1 && stateMask !is fActiveHyperlinkStateMask)
275 continue; 275 continue;
276 else if (stateMask is -1 && fActiveHyperlinkStateMask !is fHyperlinkStateMask) 276 else if (stateMask is -1 && fActiveHyperlinkStateMask !is fHyperlinkStateMask)
277 continue; 277 continue;
278 } else if (fActiveHyperlinkStateMask !is fHyperlinkStateMask) 278 } else if (fActiveHyperlinkStateMask !is fHyperlinkStateMask)
298 298
299 if (fDetectionStrategy !is ALL) { 299 if (fDetectionStrategy !is ALL) {
300 int maxLength= computeLongestHyperlinkLength(allHyperlinks); 300 int maxLength= computeLongestHyperlinkLength(allHyperlinks);
301 Iterator iter= new ArrayList(allHyperlinks).iterator(); 301 Iterator iter= new ArrayList(allHyperlinks).iterator();
302 while (iter.hasNext()) { 302 while (iter.hasNext()) {
303 IHyperlink hyperlink= (IHyperlink)iter.next(); 303 IHyperlink hyperlink= cast(IHyperlink)iter.next();
304 if (hyperlink.getHyperlinkRegion().getLength() < maxLength) 304 if (hyperlink.getHyperlinkRegion().getLength() < maxLength)
305 allHyperlinks.remove(hyperlink); 305 allHyperlinks.remove(hyperlink);
306 } 306 }
307 } 307 }
308 308
309 if (fDetectionStrategy is LONGEST_REGION_FIRST) 309 if (fDetectionStrategy is LONGEST_REGION_FIRST)
310 return new IHyperlink[] {(IHyperlink)allHyperlinks.get(0)}; 310 return new IHyperlink[] {cast(IHyperlink)allHyperlinks.get(0)};
311 311
312 return (IHyperlink[])allHyperlinks.toArray(new IHyperlink[allHyperlinks.size()]); 312 return (IHyperlink[])allHyperlinks.toArray(new IHyperlink[allHyperlinks.size()]);
313 313
314 } 314 }
315 315
323 protected int computeLongestHyperlinkLength(List hyperlinks) { 323 protected int computeLongestHyperlinkLength(List hyperlinks) {
324 Assert.isLegal(hyperlinks !is null && !hyperlinks.isEmpty()); 324 Assert.isLegal(hyperlinks !is null && !hyperlinks.isEmpty());
325 Iterator iter= hyperlinks.iterator(); 325 Iterator iter= hyperlinks.iterator();
326 int length= Integer.MIN_VALUE; 326 int length= Integer.MIN_VALUE;
327 while (iter.hasNext()) { 327 while (iter.hasNext()) {
328 IRegion region= ((IHyperlink)iter.next()).getHyperlinkRegion(); 328 IRegion region= (cast(IHyperlink)iter.next()).getHyperlinkRegion();
329 if (region.getLength() < length) 329 if (region.getLength() < length)
330 continue; 330 continue;
331 length= region.getLength(); 331 length= region.getLength();
332 } 332 }
333 return length; 333 return length;
353 Point p= text.getLocationAtOffset(widgetOffset); 353 Point p= text.getLocationAtOffset(widgetOffset);
354 if (p.x > relativePosition.x) 354 if (p.x > relativePosition.x)
355 widgetOffset--; 355 widgetOffset--;
356 356
357 if (fTextViewer instanceof ITextViewerExtension5) { 357 if (fTextViewer instanceof ITextViewerExtension5) {
358 ITextViewerExtension5 extension= (ITextViewerExtension5)fTextViewer; 358 ITextViewerExtension5 extension= cast(ITextViewerExtension5)fTextViewer;
359 return extension.widgetOffset2ModelOffset(widgetOffset); 359 return extension.widgetOffset2ModelOffset(widgetOffset);
360 } 360 }
361 361
362 return widgetOffset + fTextViewer.getVisibleRegion().getOffset(); 362 return widgetOffset + fTextViewer.getVisibleRegion().getOffset();
363 363
452 /* 452 /*
453 * @see dwt.events.MouseMoveListener#mouseMove(dwt.events.MouseEvent) 453 * @see dwt.events.MouseMoveListener#mouseMove(dwt.events.MouseEvent)
454 */ 454 */
455 public void mouseMove(MouseEvent event) { 455 public void mouseMove(MouseEvent event) {
456 if (fHyperlinkPresenter instanceof IHyperlinkPresenterExtension) { 456 if (fHyperlinkPresenter instanceof IHyperlinkPresenterExtension) {
457 if (!((IHyperlinkPresenterExtension)fHyperlinkPresenter).canHideHyperlinks()) 457 if (!(cast(IHyperlinkPresenterExtension)fHyperlinkPresenter).canHideHyperlinks())
458 return; 458 return;
459 } 459 }
460 460
461 if (!isRegisteredStateMask(event.stateMask)) { 461 if (!isRegisteredStateMask(event.stateMask)) {
462 if (fActive) 462 if (fActive)
501 return true; 501 return true;
502 502
503 synchronized (fHyperlinkDetectors) { 503 synchronized (fHyperlinkDetectors) {
504 for (int i= 0; i < fHyperlinkDetectors.length; i++) { 504 for (int i= 0; i < fHyperlinkDetectors.length; i++) {
505 if (fHyperlinkDetectors[i] instanceof IHyperlinkDetectorExtension2) { 505 if (fHyperlinkDetectors[i] instanceof IHyperlinkDetectorExtension2) {
506 if (stateMask is ((IHyperlinkDetectorExtension2)fHyperlinkDetectors[i]).getStateMask()) 506 if (stateMask is (cast(IHyperlinkDetectorExtension2)fHyperlinkDetectors[i]).getStateMask())
507 return true; 507 return true;
508 } 508 }
509 } 509 }
510 } 510 }
511 return false; 511 return false;
546 * 546 *
547 * @since 3.4 547 * @since 3.4
548 */ 548 */
549 public void mouseExit(MouseEvent e) { 549 public void mouseExit(MouseEvent e) {
550 if (fHyperlinkPresenter instanceof IHyperlinkPresenterExtension) { 550 if (fHyperlinkPresenter instanceof IHyperlinkPresenterExtension) {
551 if (!((IHyperlinkPresenterExtension)fHyperlinkPresenter).canHideHyperlinks()) 551 if (!(cast(IHyperlinkPresenterExtension)fHyperlinkPresenter).canHideHyperlinks())
552 return; 552 return;
553 } 553 }
554 deactivate(); 554 deactivate();
555 } 555 }
556 556