diff dwtx/ui/internal/forms/widgets/AggregateHyperlinkSegment.d @ 76:e193036d82c9

Fix continue porting
author Frank Benoit <benoit@tionex.de>
date Sat, 24 May 2008 06:18:55 +0200
parents 5d489b9f966c
children 04b47443bb01
line wrap: on
line diff
--- a/dwtx/ui/internal/forms/widgets/AggregateHyperlinkSegment.d	Sat May 24 05:11:16 2008 +0200
+++ b/dwtx/ui/internal/forms/widgets/AggregateHyperlinkSegment.d	Sat May 24 06:18:55 2008 +0200
@@ -12,37 +12,45 @@
  *******************************************************************************/
 module dwtx.ui.internal.forms.widgets.AggregateHyperlinkSegment;
 
-import java.util.Hashtable;
-import java.util.Vector;
+import dwtx.ui.internal.forms.widgets.ParagraphSegment;
+import dwtx.ui.internal.forms.widgets.IHyperlinkSegment;
+import dwtx.ui.internal.forms.widgets.TextHyperlinkSegment;
+import dwtx.ui.internal.forms.widgets.ImageHyperlinkSegment;
+import dwtx.ui.internal.forms.widgets.Locator;
+import dwtx.ui.internal.forms.widgets.SelectionData;
 
 import dwt.graphics.Color;
 import dwt.graphics.GC;
 import dwt.graphics.Rectangle;
 
+import dwt.dwthelper.utils;
+import tango.util.collection.ArraySeq;
+
 /**
  * This segment contains a collection of images and links that all belong to one
  * logical hyperlink.
  */
-public class AggregateHyperlinkSegment extends ParagraphSegment implements
+public class AggregateHyperlinkSegment : ParagraphSegment,
         IHyperlinkSegment {
     private String href;
 
-    private Vector segments = new Vector();
+    private ArraySeq!(Object) segments;
 
-    public AggregateHyperlinkSegment() {
+    public this() {
+        segments = new ArraySeq!(Object);
     }
 
     public void add(TextHyperlinkSegment segment) {
-        segments.add(segment);
+        segments.append(segment);
     }
 
     public void add(ImageHyperlinkSegment segment) {
-        segments.add(segment);
+        segments.append(segment);
     }
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see dwtx.ui.internal.forms.widgets.ParagraphSegment#advanceLocator(dwt.graphics.GC,
      *      int, dwtx.ui.internal.forms.widgets.Locator,
      *      java.util.Hashtable, bool)
@@ -51,7 +59,7 @@
             Hashtable objectTable, bool computeHeightOnly) {
         bool newLine = false;
         for (int i = 0; i < segments.size(); i++) {
-            ParagraphSegment segment = (ParagraphSegment) segments.get(i);
+            ParagraphSegment segment = cast(ParagraphSegment) segments.get(i);
             if (segment.advanceLocator(gc, wHint, loc, objectTable,
                     computeHeightOnly))
                 newLine = true;
@@ -76,14 +84,14 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see dwtx.ui.internal.forms.widgets.IHyperlinkSegment#repaint(dwt.graphics.GC,
      *      bool)
      */
     public void paint(GC gc, bool hover, Hashtable resourceTable,
             bool selected, SelectionData selData, Rectangle repaintRegion) {
         for (int i = 0; i < segments.size(); i++) {
-            ParagraphSegment segment = (ParagraphSegment) segments.get(i);
+            ParagraphSegment segment = cast(ParagraphSegment) segments.get(i);
             segment.paint(gc, hover, resourceTable, selected, selData,
                     repaintRegion);
         }
@@ -92,7 +100,7 @@
     public String getText() {
         StringBuffer buf = new StringBuffer();
         for (int i = 0; i < segments.size(); i++) {
-            IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
+            IHyperlinkSegment segment = cast(IHyperlinkSegment) segments.get(i);
             buf.append(segment.getText());
         }
         return buf.toString();
@@ -100,7 +108,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see dwtx.ui.internal.forms.widgets.IHyperlinkSegment#paintFocus(dwt.graphics.GC,
      *      dwt.graphics.Color, dwt.graphics.Color,
      *      bool)
@@ -108,14 +116,14 @@
     public void paintFocus(GC gc, Color bg, Color fg, bool selected,
             Rectangle repaintRegion) {
         for (int i = 0; i < segments.size(); i++) {
-            IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
+            IHyperlinkSegment segment = cast(IHyperlinkSegment) segments.get(i);
             segment.paintFocus(gc, bg, fg, selected, repaintRegion);
         }
     }
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see dwtx.ui.internal.forms.widgets.IHyperlinkSegment#getBounds()
      */
     public Rectangle getBounds() {
@@ -123,7 +131,7 @@
                 0, 0);
         // TODO this is wrong
         for (int i = 0; i < segments.size(); i++) {
-            IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
+            IHyperlinkSegment segment = cast(IHyperlinkSegment) segments.get(i);
             Rectangle sbounds = segment.getBounds();
             bounds.x = Math.min(bounds.x, sbounds.x);
             bounds.y = Math.min(bounds.y, sbounds.y);
@@ -135,7 +143,7 @@
 
     public bool contains(int x, int y) {
         for (int i = 0; i < segments.size(); i++) {
-            IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
+            IHyperlinkSegment segment = cast(IHyperlinkSegment) segments.get(i);
             if (segment.contains(x, y))
                 return true;
         }
@@ -144,7 +152,7 @@
 
     public bool intersects(Rectangle rect) {
         for (int i = 0; i < segments.size(); i++) {
-            IHyperlinkSegment segment = (IHyperlinkSegment) segments.get(i);
+            IHyperlinkSegment segment = cast(IHyperlinkSegment) segments.get(i);
             if (segment.intersects(rect))
                 return true;
         }
@@ -153,7 +161,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see dwtx.ui.internal.forms.widgets.ParagraphSegment#layout(dwt.graphics.GC,
      *      int, dwtx.ui.internal.forms.widgets.Locator,
      *      java.util.Hashtable, bool,
@@ -162,14 +170,14 @@
     public void layout(GC gc, int width, Locator locator,
             Hashtable resourceTable, bool selected) {
         for (int i = 0; i < segments.size(); i++) {
-            ParagraphSegment segment = (ParagraphSegment) segments.get(i);
+            ParagraphSegment segment = cast(ParagraphSegment) segments.get(i);
             segment.layout(gc, width, locator, resourceTable, selected);
         }
     }
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see dwtx.ui.internal.forms.widgets.ParagraphSegment#computeSelection(dwt.graphics.GC,
      *      java.util.Hashtable, bool,
      *      dwtx.ui.internal.forms.widgets.SelectionData)
@@ -177,21 +185,21 @@
     public void computeSelection(GC gc, Hashtable resourceTable,
             SelectionData selData) {
         for (int i = 0; i < segments.size(); i++) {
-            ParagraphSegment segment = (ParagraphSegment) segments.get(i);
+            ParagraphSegment segment = cast(ParagraphSegment) segments.get(i);
             segment.computeSelection(gc, resourceTable, selData);
         }
     }
 
     public void clearCache(String fontId) {
         for (int i = 0; i < segments.size(); i++) {
-            ParagraphSegment segment = (ParagraphSegment) segments.get(i);
+            ParagraphSegment segment = cast(ParagraphSegment) segments.get(i);
             segment.clearCache(fontId);
         }
     }
 
     public String getTooltipText() {
         if (segments.size() > 0)
-            return ((ParagraphSegment) segments.get(0)).getTooltipText();
+            return (cast(ParagraphSegment) segments.get(0)).getTooltipText();
         return super.getTooltipText();
     }