# HG changeset patch # User Jacob Carlborg # Date 1230652870 -3600 # Node ID 8e3c85e1733d30fcdf0b970e6e464f2fc9b56130 # Parent 6c56264306a6adac86ce5cf7d4aad290db8a153d Ported dwt.widgets.TreeItem diff -r 6c56264306a6 -r 8e3c85e1733d dwt/widgets/List.d --- 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 () { diff -r 6c56264306a6 -r 8e3c85e1733d dwt/widgets/TreeColumn.d --- 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 *******************************************************************************/ module dwt.widgets.TreeColumn; diff -r 6c56264306a6 -r 8e3c85e1733d dwt/widgets/TreeItem.d --- 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 *******************************************************************************/ 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);