changeset 89:8e3c85e1733d

Ported dwt.widgets.TreeItem
author Jacob Carlborg <doob@me.com>
date Tue, 30 Dec 2008 17:01:10 +0100
parents 6c56264306a6
children c7f7f4d7091a
files dwt/widgets/List.d dwt/widgets/TreeColumn.d dwt/widgets/TreeItem.d
diffstat 3 files changed, 48 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/widgets/List.d	Tue Dec 30 16:44:02 2008 +0100
+++ b/dwt/widgets/List.d	Tue Dec 30 17:01:10 2008 +0100
@@ -721,8 +721,8 @@
     return (cast(NSTableView)view).isRowSelected(index);
 }
 
-int numberOfRowsInTableView(objc.id id, objc.SEL sel, objc.id aTableView) {
-    return itemCount;
+objc.id numberOfRowsInTableView(objc.id id, objc.SEL sel, objc.id aTableView) {
+    return cast(objc.id) itemCount;
 }
 
 void releaseHandle () {
--- a/dwt/widgets/TreeColumn.d	Tue Dec 30 16:44:02 2008 +0100
+++ b/dwt/widgets/TreeColumn.d	Tue Dec 30 17:01:10 2008 +0100
@@ -7,6 +7,9 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
+ *     
+ * Port to the D programming language:
+ *     Jacob Carlborg <doob@me.com>
  *******************************************************************************/
 module dwt.widgets.TreeColumn;
 
--- a/dwt/widgets/TreeItem.d	Tue Dec 30 16:44:02 2008 +0100
+++ b/dwt/widgets/TreeItem.d	Tue Dec 30 17:01:10 2008 +0100
@@ -7,6 +7,9 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
+ *     
+ * Port to the D programming language:
+ *     Jacob Carlborg <doob@me.com>
  *******************************************************************************/
 module dwt.widgets.TreeItem;
 
@@ -33,6 +36,12 @@
 import dwt.internal.cocoa.OS;
 import dwt.internal.cocoa.SWTTreeItem;
 
+import dwt.internal.objc.cocoa.Cocoa;
+import dwt.widgets.Event;
+import dwt.widgets.Item;
+import dwt.widgets.Tree;
+import dwt.widgets.TreeColumn;
+
 /**
  * Instances of this class represent a selectable user interface object
  * that represents a hierarchy of tree items in a tree widget.
@@ -223,7 +232,7 @@
     if (create) {
         parent.createItem (this, parentItem, index);
     } else {
-        handle = (SWTTreeItem) new SWTTreeItem ().alloc ().init ();
+        handle = cast(SWTTreeItem) (new SWTTreeItem ()).alloc ().init ();
         createJNIRef ();
         register ();
         items = new TreeItem[4];
@@ -256,27 +265,27 @@
         cell.setTitle (NSString.stringWith (getText (columnIndex)));
         Image image = getImage (columnIndex);
         cell.setImage (image !is null ? image.handle : null);
-        NSRect rect = new NSRect ();
+        NSRect rect = NSRect ();
         rect.width = rect.height = Float.MAX_VALUE;
         NSSize size = cell.cellSizeForBounds (rect);
-        width = (int)Math.ceil (size.width);
+        width = cast(int)Math.ceil (size.width);
 
         if (callMeasureItem && parent.hooks (DWT.MeasureItem)) {
-            NSOutlineView outlineView = (NSOutlineView)parent.view;
-            int nsColumnIndex = 0;
+            NSOutlineView outlineView = cast(NSOutlineView)parent.view;
+            NSInteger nsColumnIndex = 0;
             if (parent.columnCount > 0) {
                 nsColumnIndex = outlineView.columnWithIdentifier (parent.columns[columnIndex].nsColumn);
             }
-            int rowIndex = (int)/*64*/outlineView.rowForItem (handle);
+            NSInteger rowIndex = outlineView.rowForItem (handle);
             rect = outlineView.frameOfCellAtColumn (nsColumnIndex, rowIndex);
             NSRect contentRect = cell.titleRectForBounds (rect);
-            int rowHeight = (int)outlineView.rowHeight ();
+            int rowHeight = cast(int)outlineView.rowHeight ();
             Event event = new Event ();
             event.item = this;
             event.index = columnIndex;
             event.gc = gc;
-            event.x = (int)contentRect.x;
-            event.y = (int)contentRect.y;
+            event.x = cast(int)contentRect.x;
+            event.y = cast(int)contentRect.y;
             event.width = width;
             event.height = rowHeight;
             parent.sendEvent (DWT.MeasureItem, event);
@@ -296,9 +305,9 @@
 
     if (columnIndex is 0) {
         NSTableColumn column = parent.columnCount is 0 ? parent.firstColumn : parent.columns[0].nsColumn;
-        NSOutlineView outlineView = (NSOutlineView)parent.view;
-        int rowIndex = (int)/*64*/outlineView.rowForItem (handle);
-        int nsColumnIndex = (int)/*64*/outlineView.columnWithIdentifier (column);
+        NSOutlineView outlineView = cast(NSOutlineView)parent.view;
+        NSInteger rowIndex = outlineView.rowForItem (handle);
+        NSInteger nsColumnIndex = outlineView.columnWithIdentifier (column);
         NSRect columnRect = outlineView.rectOfColumn (nsColumnIndex);
         NSRect cellRect = outlineView.frameOfCellAtColumn (nsColumnIndex, rowIndex);
         width += (cellRect.x - columnRect.x);
@@ -403,7 +412,7 @@
         dict.setObject(font.handle, OS.NSFontAttributeName);
     }
 
-    NSMutableParagraphStyle paragraphStyle = (NSMutableParagraphStyle)new NSMutableParagraphStyle ().alloc ().init ();
+    NSMutableParagraphStyle paragraphStyle = cast(NSMutableParagraphStyle)(new NSMutableParagraphStyle ()).alloc ().init ();
     paragraphStyle.autorelease ();
     paragraphStyle.setLineBreakMode (OS.NSLineBreakByClipping);
     dict.setObject (paragraphStyle, OS.NSParagraphStyleAttributeName);
@@ -419,7 +428,7 @@
 
     String text = getText (index);
     NSString str = NSString.stringWith(text);
-    NSAttributedString attribStr = ((NSAttributedString) new NSAttributedString ().alloc ()).initWithString (str, dict);
+    NSAttributedString attribStr = (cast(NSAttributedString) (new NSAttributedString ()).alloc ()).initWithString (str, dict);
     attribStr.autorelease ();
     return attribStr;
 }
@@ -491,7 +500,7 @@
     if (!parent.checkData (this, true)) error (DWT.ERROR_WIDGET_DISPOSED);
     NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     NSRect rect = outlineView.rectOfRow (outlineView.rowForItem (handle));
-    return new Rectangle((int) rect.x, (int) rect.y, (int) rect.width, (int) rect.height);
+    return new Rectangle(cast(int) rect.x, cast(int) rect.y, cast(int) rect.width, cast(int) rect.height);
 }
 
 /**
@@ -513,6 +522,7 @@
     if (!parent.checkData (this, true)) error (DWT.ERROR_WIDGET_DISPOSED);
     if (!(0 <= index && index < Math.max (1, parent.columnCount))) return new Rectangle (0, 0, 0, 0);
 
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     if (parent.columnCount is 0) {
         index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
     } else {
@@ -713,18 +723,18 @@
     if (!parent.checkData (this, true)) error (DWT.ERROR_WIDGET_DISPOSED);
     if (!(0 <= index && index < Math.max (1, parent.columnCount))) return new Rectangle (0, 0, 0, 0);
 
-    NSOutlineView outlineView = (NSOutlineView) parent.view;
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     Image image = index is 0 ? this.image : (images !is null) ? images [index] : null;
     if (parent.columnCount is 0) {
         index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
     } else {
         TreeColumn column = parent.getColumn (index);
-        index = (int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
+        index = cast(int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
     }
     NSRect rect = outlineView.frameOfCellAtColumn (index, outlineView.rowForItem (handle));
     //TODO is this right?
     rect.width = image !is null ? image.getBounds().width : 0; 
-    return new Rectangle((int) rect.x, (int) rect.y, (int) rect.width, (int) rect.height);
+    return new Rectangle(cast(int) rect.x, cast(int) rect.y, cast(int) rect.width, cast(int) rect.height);
 }
 
 /**
@@ -887,22 +897,22 @@
     if (!parent.checkData (this, true)) error (DWT.ERROR_WIDGET_DISPOSED);
     if (!(0 <= index && index < Math.max (1, parent.columnCount))) return new Rectangle (0, 0, 0, 0);
 
-    NSOutlineView outlineView = (NSOutlineView) parent.view;
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     Image image = index is 0 ? this.image : (images !is null) ? images [index] : null;
     if (parent.columnCount is 0) {
         index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
     } else {
         TreeColumn column = parent.getColumn (index);
-        index = (int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
+        index = cast(int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
     }
     NSRect rect = outlineView.frameOfCellAtColumn (index, outlineView.rowForItem (handle));
     //TODO is this right?
     if (image !is null) {
         int imageWidth = image.getBounds().width;
-        rect.x += imageWidth;
-        rect.width -= imageWidth;
+        rect.origin.x += imageWidth;
+        rect.size.width -= imageWidth;
     }
-    return new Rectangle((int) rect.x, (int) rect.y, (int) rect.width, (int) rect.height);
+    return new Rectangle(cast(int) rect.x, cast(int) rect.y, cast(int) rect.width, cast(int) rect.height);
 }
 
 /**
@@ -1058,7 +1068,7 @@
     if (oldColor !is null && oldColor.equals (color)) return;
     cached = true; 
 
-    NSOutlineView outlineView = (NSOutlineView) parent.view;
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     if (parent.hooks (DWT.MeasureItem) || parent.hooks (DWT.EraseItem) || parent.hooks (DWT.PaintItem)) {
         outlineView.reloadItem (handle);
     } else {
@@ -1066,7 +1076,7 @@
             index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
         } else {
             TreeColumn column = parent.getColumn (index);
-            index = (int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
+            index = cast(int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
         }
         NSRect rect = outlineView.frameOfCellAtColumn (index, outlineView.rowForItem (handle));
         outlineView.setNeedsDisplayInRect (rect);
@@ -1190,7 +1200,7 @@
     if (oldFont !is null && oldFont.equals (font)) return;
     cached = true;
 
-    NSOutlineView outlineView = (NSOutlineView) parent.view;
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     if (parent.hooks (DWT.MeasureItem) || parent.hooks (DWT.EraseItem) || parent.hooks (DWT.PaintItem)) {
         outlineView.reloadItem (handle);
     } else {
@@ -1198,7 +1208,7 @@
             index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
         } else {
             TreeColumn column = parent.getColumn (index);
-            index = (int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
+            index = cast(int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
         }
         NSRect rect = outlineView.frameOfCellAtColumn (index, outlineView.rowForItem (handle));
         outlineView.setNeedsDisplayInRect (rect);
@@ -1274,7 +1284,7 @@
     if (oldColor !is null && oldColor.equals (color)) return;
     cached = true;
 
-    NSOutlineView outlineView = (NSOutlineView) parent.view;
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     if (parent.hooks (DWT.MeasureItem) || parent.hooks (DWT.EraseItem) || parent.hooks (DWT.PaintItem)) {
         outlineView.reloadItem (handle);
     } else {
@@ -1282,7 +1292,7 @@
             index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
         } else {
             TreeColumn column = parent.getColumn (index);
-            index = (int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
+            index = cast(int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
         }
         NSRect rect = outlineView.frameOfCellAtColumn (index, outlineView.rowForItem (handle));
         outlineView.setNeedsDisplayInRect (rect);
@@ -1375,7 +1385,7 @@
 //  cached = true;
     if (index is 0) parent.setScrollWidth (this, false, true);
 
-    NSOutlineView outlineView = (NSOutlineView) parent.view;
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     if (parent.hooks (DWT.MeasureItem) || parent.hooks (DWT.EraseItem) || parent.hooks (DWT.PaintItem)) {
         outlineView.reloadItem (handle);
     } else {
@@ -1383,7 +1393,7 @@
             index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
         } else {
             TreeColumn column = parent.getColumn (index);
-            index = (int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
+            index = cast(int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
         }
         NSRect rect = outlineView.frameOfCellAtColumn (index, outlineView.rowForItem (handle));
         outlineView.setNeedsDisplayInRect (rect);
@@ -1470,7 +1480,7 @@
     cached = true;
     if (index is 0) parent.setScrollWidth (this, false, true);
 
-    NSOutlineView outlineView = (NSOutlineView) parent.view;
+    NSOutlineView outlineView = cast(NSOutlineView) parent.view;
     if (parent.hooks (DWT.MeasureItem) || parent.hooks (DWT.EraseItem) || parent.hooks (DWT.PaintItem)) {
         outlineView.reloadItem (handle);
     } else {
@@ -1478,7 +1488,7 @@
             index = (parent.style & DWT.CHECK) !is 0 ? 1 : 0;
         } else {
             TreeColumn column = parent.getColumn (index);
-            index = (int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
+            index = cast(int)/*64*/outlineView.columnWithIdentifier (column.nsColumn);
         }
         NSRect rect = outlineView.frameOfCellAtColumn (index, outlineView.rowForItem (handle));
         outlineView.setNeedsDisplayInRect (rect);