Mercurial > projects > dwt-addons
comparison dwtx/jface/text/TextUtilities.d @ 134:51e6e63f930e
Regex fix for casts
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sun, 24 Aug 2008 01:46:20 +0200 |
parents | c4fb132a086c |
children | 6dcb0baaa031 |
comparison
equal
deleted
inserted
replaced
133:7d818bd32d63 | 134:51e6e63f930e |
---|---|
331 | 331 |
332 if (documentEvents.size() is 0) | 332 if (documentEvents.size() is 0) |
333 return null; | 333 return null; |
334 | 334 |
335 final Iterator iterator= documentEvents.iterator(); | 335 final Iterator iterator= documentEvents.iterator(); |
336 final DocumentEvent firstEvent= (DocumentEvent) iterator.next(); | 336 final DocumentEvent firstEvent= cast(DocumentEvent) iterator.next(); |
337 | 337 |
338 // current merged event | 338 // current merged event |
339 final IDocument document= unprocessedDocument; | 339 final IDocument document= unprocessedDocument; |
340 int offset= firstEvent.getOffset(); | 340 int offset= firstEvent.getOffset(); |
341 int length= firstEvent.getLength(); | 341 int length= firstEvent.getLength(); |
343 | 343 |
344 while (iterator.hasNext()) { | 344 while (iterator.hasNext()) { |
345 | 345 |
346 final int delta= text.length() - length; | 346 final int delta= text.length() - length; |
347 | 347 |
348 final DocumentEvent event= (DocumentEvent) iterator.next(); | 348 final DocumentEvent event= cast(DocumentEvent) iterator.next(); |
349 final int eventOffset= event.getOffset(); | 349 final int eventOffset= event.getOffset(); |
350 final int eventLength= event.getLength(); | 350 final int eventLength= event.getLength(); |
351 final String eventText= event.getText() is null ? "" : event.getText(); //$NON-NLS-1$ | 351 final String eventText= event.getText() is null ? "" : event.getText(); //$NON-NLS-1$ |
352 | 352 |
353 // event is right from merged event | 353 // event is right from merged event |
396 | 396 |
397 if (documentEvents.size() is 0) | 397 if (documentEvents.size() is 0) |
398 return null; | 398 return null; |
399 | 399 |
400 final ListIterator iterator= documentEvents.listIterator(documentEvents.size()); | 400 final ListIterator iterator= documentEvents.listIterator(documentEvents.size()); |
401 final DocumentEvent firstEvent= (DocumentEvent) iterator.previous(); | 401 final DocumentEvent firstEvent= cast(DocumentEvent) iterator.previous(); |
402 | 402 |
403 // current merged event | 403 // current merged event |
404 final IDocument document= firstEvent.getDocument(); | 404 final IDocument document= firstEvent.getDocument(); |
405 int offset= firstEvent.getOffset(); | 405 int offset= firstEvent.getOffset(); |
406 int length= firstEvent.getLength(); | 406 int length= firstEvent.getLength(); |
408 | 408 |
409 while (iterator.hasPrevious()) { | 409 while (iterator.hasPrevious()) { |
410 | 410 |
411 final int delta= length - textLength; | 411 final int delta= length - textLength; |
412 | 412 |
413 final DocumentEvent event= (DocumentEvent) iterator.previous(); | 413 final DocumentEvent event= cast(DocumentEvent) iterator.previous(); |
414 final int eventOffset= event.getOffset(); | 414 final int eventOffset= event.getOffset(); |
415 final int eventLength= event.getLength(); | 415 final int eventLength= event.getLength(); |
416 final int eventTextLength= event.getText() is null ? 0 : event.getText().length(); | 416 final int eventTextLength= event.getText() is null ? 0 : event.getText().length(); |
417 | 417 |
418 // event is right from merged event | 418 // event is right from merged event |
451 * @return the map containing the removed partitioners | 451 * @return the map containing the removed partitioners |
452 */ | 452 */ |
453 public static Map removeDocumentPartitioners(IDocument document) { | 453 public static Map removeDocumentPartitioners(IDocument document) { |
454 Map partitioners= new HashMap(); | 454 Map partitioners= new HashMap(); |
455 if (document instanceof IDocumentExtension3) { | 455 if (document instanceof IDocumentExtension3) { |
456 IDocumentExtension3 extension3= (IDocumentExtension3) document; | 456 IDocumentExtension3 extension3= cast(IDocumentExtension3) document; |
457 String[] partitionings= extension3.getPartitionings(); | 457 String[] partitionings= extension3.getPartitionings(); |
458 for (int i= 0; i < partitionings.length; i++) { | 458 for (int i= 0; i < partitionings.length; i++) { |
459 IDocumentPartitioner partitioner= extension3.getDocumentPartitioner(partitionings[i]); | 459 IDocumentPartitioner partitioner= extension3.getDocumentPartitioner(partitionings[i]); |
460 if (partitioner !is null) { | 460 if (partitioner !is null) { |
461 extension3.setDocumentPartitioner(partitionings[i], null); | 461 extension3.setDocumentPartitioner(partitionings[i], null); |
482 * @param partitioners the map containing the partitioners to be connected | 482 * @param partitioners the map containing the partitioners to be connected |
483 * @since 3.0 | 483 * @since 3.0 |
484 */ | 484 */ |
485 public static void addDocumentPartitioners(IDocument document, Map partitioners) { | 485 public static void addDocumentPartitioners(IDocument document, Map partitioners) { |
486 if (document instanceof IDocumentExtension3) { | 486 if (document instanceof IDocumentExtension3) { |
487 IDocumentExtension3 extension3= (IDocumentExtension3) document; | 487 IDocumentExtension3 extension3= cast(IDocumentExtension3) document; |
488 Iterator e= partitioners.keySet().iterator(); | 488 Iterator e= partitioners.keySet().iterator(); |
489 while (e.hasNext()) { | 489 while (e.hasNext()) { |
490 String partitioning= (String) e.next(); | 490 String partitioning= cast(String) e.next(); |
491 IDocumentPartitioner partitioner= (IDocumentPartitioner) partitioners.get(partitioning); | 491 IDocumentPartitioner partitioner= cast(IDocumentPartitioner) partitioners.get(partitioning); |
492 partitioner.connect(document); | 492 partitioner.connect(document); |
493 extension3.setDocumentPartitioner(partitioning, partitioner); | 493 extension3.setDocumentPartitioner(partitioning, partitioner); |
494 } | 494 } |
495 partitioners.clear(); | 495 partitioners.clear(); |
496 } else { | 496 } else { |
497 IDocumentPartitioner partitioner= (IDocumentPartitioner) partitioners.get(IDocumentExtension3.DEFAULT_PARTITIONING); | 497 IDocumentPartitioner partitioner= cast(IDocumentPartitioner) partitioners.get(IDocumentExtension3.DEFAULT_PARTITIONING); |
498 partitioner.connect(document); | 498 partitioner.connect(document); |
499 document.setDocumentPartitioner(partitioner); | 499 document.setDocumentPartitioner(partitioner); |
500 } | 500 } |
501 } | 501 } |
502 | 502 |
513 * @throws BadLocationException if offset is invalid in the document | 513 * @throws BadLocationException if offset is invalid in the document |
514 * @since 3.0 | 514 * @since 3.0 |
515 */ | 515 */ |
516 public static String getContentType(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException { | 516 public static String getContentType(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException { |
517 if (document instanceof IDocumentExtension3) { | 517 if (document instanceof IDocumentExtension3) { |
518 IDocumentExtension3 extension3= (IDocumentExtension3) document; | 518 IDocumentExtension3 extension3= cast(IDocumentExtension3) document; |
519 try { | 519 try { |
520 return extension3.getContentType(partitioning, offset, preferOpenPartitions); | 520 return extension3.getContentType(partitioning, offset, preferOpenPartitions); |
521 } catch (BadPartitioningException x) { | 521 } catch (BadPartitioningException x) { |
522 return IDocument.DEFAULT_CONTENT_TYPE; | 522 return IDocument.DEFAULT_CONTENT_TYPE; |
523 } | 523 } |
540 * @throws BadLocationException if offset is invalid in the given document | 540 * @throws BadLocationException if offset is invalid in the given document |
541 * @since 3.0 | 541 * @since 3.0 |
542 */ | 542 */ |
543 public static ITypedRegion getPartition(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException { | 543 public static ITypedRegion getPartition(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException { |
544 if (document instanceof IDocumentExtension3) { | 544 if (document instanceof IDocumentExtension3) { |
545 IDocumentExtension3 extension3= (IDocumentExtension3) document; | 545 IDocumentExtension3 extension3= cast(IDocumentExtension3) document; |
546 try { | 546 try { |
547 return extension3.getPartition(partitioning, offset, preferOpenPartitions); | 547 return extension3.getPartition(partitioning, offset, preferOpenPartitions); |
548 } catch (BadPartitioningException x) { | 548 } catch (BadPartitioningException x) { |
549 return new TypedRegion(0, document.getLength(), IDocument.DEFAULT_CONTENT_TYPE); | 549 return new TypedRegion(0, document.getLength(), IDocument.DEFAULT_CONTENT_TYPE); |
550 } | 550 } |
568 * document | 568 * document |
569 * @since 3.0 | 569 * @since 3.0 |
570 */ | 570 */ |
571 public static ITypedRegion[] computePartitioning(IDocument document, String partitioning, int offset, int length, bool includeZeroLengthPartitions) throws BadLocationException { | 571 public static ITypedRegion[] computePartitioning(IDocument document, String partitioning, int offset, int length, bool includeZeroLengthPartitions) throws BadLocationException { |
572 if (document instanceof IDocumentExtension3) { | 572 if (document instanceof IDocumentExtension3) { |
573 IDocumentExtension3 extension3= (IDocumentExtension3) document; | 573 IDocumentExtension3 extension3= cast(IDocumentExtension3) document; |
574 try { | 574 try { |
575 return extension3.computePartitioning(partitioning, offset, length, includeZeroLengthPartitions); | 575 return extension3.computePartitioning(partitioning, offset, length, includeZeroLengthPartitions); |
576 } catch (BadPartitioningException x) { | 576 } catch (BadPartitioningException x) { |
577 return new ITypedRegion[0]; | 577 return new ITypedRegion[0]; |
578 } | 578 } |
589 * @return the partition managing position categories or <code>null</code> | 589 * @return the partition managing position categories or <code>null</code> |
590 * @since 3.0 | 590 * @since 3.0 |
591 */ | 591 */ |
592 public static String[] computePartitionManagingCategories(IDocument document) { | 592 public static String[] computePartitionManagingCategories(IDocument document) { |
593 if (document instanceof IDocumentExtension3) { | 593 if (document instanceof IDocumentExtension3) { |
594 IDocumentExtension3 extension3= (IDocumentExtension3) document; | 594 IDocumentExtension3 extension3= cast(IDocumentExtension3) document; |
595 String[] partitionings= extension3.getPartitionings(); | 595 String[] partitionings= extension3.getPartitionings(); |
596 if (partitionings !is null) { | 596 if (partitionings !is null) { |
597 Set categories= new HashSet(); | 597 Set categories= new HashSet(); |
598 for (int i= 0; i < partitionings.length; i++) { | 598 for (int i= 0; i < partitionings.length; i++) { |
599 IDocumentPartitioner p= extension3.getDocumentPartitioner(partitionings[i]); | 599 IDocumentPartitioner p= extension3.getDocumentPartitioner(partitionings[i]); |
600 if (p instanceof IDocumentPartitionerExtension2) { | 600 if (p instanceof IDocumentPartitionerExtension2) { |
601 IDocumentPartitionerExtension2 extension2= (IDocumentPartitionerExtension2) p; | 601 IDocumentPartitionerExtension2 extension2= cast(IDocumentPartitionerExtension2) p; |
602 String[] c= extension2.getManagingPositionCategories(); | 602 String[] c= extension2.getManagingPositionCategories(); |
603 if (c !is null) { | 603 if (c !is null) { |
604 for (int j= 0; j < c.length; j++) | 604 for (int j= 0; j < c.length; j++) |
605 categories.add(c[j]); | 605 categories.add(c[j]); |
606 } | 606 } |
624 * @since 3.0 | 624 * @since 3.0 |
625 */ | 625 */ |
626 public static String getDefaultLineDelimiter(IDocument document) { | 626 public static String getDefaultLineDelimiter(IDocument document) { |
627 | 627 |
628 if (document instanceof IDocumentExtension4) | 628 if (document instanceof IDocumentExtension4) |
629 return ((IDocumentExtension4)document).getDefaultLineDelimiter(); | 629 return (cast(IDocumentExtension4)document).getDefaultLineDelimiter(); |
630 | 630 |
631 String lineDelimiter= null; | 631 String lineDelimiter= null; |
632 | 632 |
633 try { | 633 try { |
634 lineDelimiter= document.getLineDelimiter(0); | 634 lineDelimiter= document.getLineDelimiter(0); |