diff dwt/widgets/CoolBar.d @ 90:c7f7f4d7091a

All widgets are ported
author Jacob Carlborg <doob@me.com>
date Tue, 30 Dec 2008 18:54:31 +0100
parents a3f5118c8b37
children 63a09873578e
line wrap: on
line diff
--- a/dwt/widgets/CoolBar.d	Tue Dec 30 17:01:10 2008 +0100
+++ b/dwt/widgets/CoolBar.d	Tue Dec 30 18:54:31 2008 +0100
@@ -59,7 +59,7 @@
  */
 public class CoolBar : Composite {
     CoolItem[][] items;
-    CoolItem[] originalItems = new CoolItem[0];
+    CoolItem[] originalItems;
     Cursor hoverCursor, dragCursor, cursor;
     CoolItem dragging = null;
     int mouseXOffset, itemXOffset;
@@ -136,6 +136,8 @@
     for (int i = 0; i < events.length; i++) {
         addListener(events[i], listener);   
     }
+    
+    originalItems = new CoolItem[0];
 }
 static int checkStyle (int style) {
     style |= DWT.NO_FOCUS;
@@ -259,7 +261,7 @@
 Point findItem (CoolItem item) {
     for (int row = 0; row < items.length; row++) {
         for (int i = 0; i < items[row].length; i++) {
-            if (items[row][i].equals(item)) return new Point(i, row);       
+            if (items[row][i].opEquals(item)) return new Point(i, row);       
         }
     }
     return new Point(-1, -1);
@@ -308,7 +310,7 @@
     int answer = 0;
     for (int row = 0; row < items.length; row++) {
         for (int i = 0; i < items[row].length; i++) {
-            if (items[row][i].equals(item)) {
+            if (items[row][i].opEquals(item)) {
                 return answer;      
             } else {
                 answer++;
@@ -386,7 +388,7 @@
     int itemCount = getItemCount(), row = 0;
     if (!(0 <= index && index <= itemCount)) error (DWT.ERROR_INVALID_RANGE);
     if (items.length is 0) {
-        items = new CoolItem[1][1];
+        items = new CoolItem[][](1, 1);
         items[0][0] = item; 
     } else {
         int i = index;
@@ -469,8 +471,8 @@
     internalRedraw(old.x, old.y, CoolItem.MINIMUM_WIDTH, old.height);
     if (newRowIndex is items.length) {
         /* Create a new bottom row for the item. */
-        CoolItem[][] newRows = new CoolItem[items.length + 1][];
-        System.arraycopy(items, 0, newRows, 0, items.length);
+        CoolItem[][] newRows = new CoolItem[][](items.length + 1);
+        SimpleType!(CoolItem[]).arraycopy(items, 0, newRows, 0, items.length);
         int row = items.length;
         newRows[row] = new CoolItem[1];
         newRows[row][0] = item;
@@ -569,8 +571,8 @@
     int newRowIndex = Math.max(0, oldRowIndex - 1);
     if (oldRowIndex is 0) {
         /* Create a new top row for the item. */
-        CoolItem[][] newRows = new CoolItem[items.length + 1][];
-        System.arraycopy(items, 0, newRows, 1, items.length);
+        CoolItem[][] newRows = new CoolItem[][](items.length + 1);
+        SimpleType!(CoolItem[]).arraycopy(items, 0, newRows, 1, items.length);
         newRows[0] = new CoolItem[1];
         newRows[0][0] = item;
         items = newRows;
@@ -805,9 +807,9 @@
         items[rowIndex] = newRow;
         items[rowIndex][0].wrap = true;
     } else {
-        CoolItem[][] newRows = new CoolItem[items.length - 1][];
-        System.arraycopy(items, 0, newRows, 0, rowIndex);
-        System.arraycopy(items, rowIndex + 1, newRows, rowIndex, newRows.length - rowIndex);
+        CoolItem[][] newRows = new CoolItem[][](items.length - 1);
+        SimpleType!(CoolItem[]).arraycopy(items, 0, newRows, 0, rowIndex);
+        SimpleType!(CoolItem[]).arraycopy(items, rowIndex + 1, newRows, rowIndex, newRows.length - rowIndex);
         items = newRows;
         return;
     }
@@ -968,7 +970,7 @@
     for (int i = 0; i < count; i++) {
         row[i] = originalItems[itemOrder[i]];
     }
-    items = new CoolItem[1][count];
+    items = new CoolItem[][](1, count);
     items[0] = row;
 }
 /**
@@ -1164,7 +1166,7 @@
         System.arraycopy(items[row], 0, itemsVisual, start, items[row].length);
         start += items[row].length;
     }
-    CoolItem[][] newItems = new CoolItem[itemCount][];
+    CoolItem[][] newItems = new CoolItem[][](itemCount);
     int rowCount = 0, rowWidth =  0;
     start = 0;
     for (int i = 0; i < itemCount; i++) {
@@ -1195,8 +1197,8 @@
         rowCount++;     
     }
     if (newItems.length !is rowCount) {
-        CoolItem[][] tmp = new CoolItem[rowCount][];
-        System.arraycopy(newItems, 0, tmp, 0, rowCount);
+        CoolItem[][] tmp = new CoolItem[][](rowCount);
+        SimpleType!(CoolItem[]).arraycopy(newItems, 0, tmp, 0, rowCount);
         items = tmp;
     } else {
         items = newItems;