Mercurial > projects > dwt-mac
view dwt/internal/cocoa/NSTextTable.d @ 0:380af2bdd8e5
Upload of whole dwt tree
author | Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com> |
---|---|
date | Sat, 09 Aug 2008 17:00:02 +0200 |
parents | |
children | 8b48be5454ce |
line wrap: on
line source
/******************************************************************************* * Copyright (c) 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation * * Port to the D Programming language: * Jacob Carlborg <jacob.carlborg@gmail.com> *******************************************************************************/ module dwt.internal.cocoa.NSTextTable; import dwt.internal.cocoa.NSInteger; import dwt.internal.cocoa.NSLayoutManager; import dwt.internal.cocoa.NSPoint; import dwt.internal.cocoa.NSRange; import dwt.internal.cocoa.NSRect; import dwt.internal.cocoa.NSTextBlock; import dwt.internal.cocoa.NSTextContainer; import dwt.internal.cocoa.NSTextTableBlock; import dwt.internal.cocoa.NSView; import dwt.internal.cocoa.OS; import objc = dwt.internal.objc.runtime; enum NSTextBlockValueType : NSUInteger { NSTextBlockAbsoluteValueType = 0, NSTextBlockPercentageValueType = 1 } alias NSTextBlockValueType.NSTextBlockAbsoluteValueType NSTextBlockAbsoluteValueType; alias NSTextBlockValueType.NSTextBlockPercentageValueType NSTextBlockPercentageValueType; enum NSTextBlockDimension : NSUInteger { NSTextBlockWidth = 0, NSTextBlockMinimumWidth = 1, NSTextBlockMaximumWidth = 2, NSTextBlockHeight = 4, NSTextBlockMinimumHeight = 5, NSTextBlockMaximumHeight = 6 } alias NSTextBlockDimension.NSTextBlockWidth NSTextBlockWidth; alias NSTextBlockDimension.NSTextBlockMinimumWidth NSTextBlockMinimumWidth; alias NSTextBlockDimension.NSTextBlockMaximumWidth NSTextBlockMaximumWidth; alias NSTextBlockDimension.NSTextBlockHeight NSTextBlockHeight; alias NSTextBlockDimension.NSTextBlockMinimumHeight NSTextBlockMinimumHeight; alias NSTextBlockDimension.NSTextBlockMaximumHeight NSTextBlockMaximumHeight; enum NSTextBlockVerticalAlignment : NSUInteger { NSTextBlockTopAlignment = 0, NSTextBlockMiddleAlignment = 1, NSTextBlockBottomAlignment = 2, NSTextBlockBaselineAlignment = 3 } alias NSTextBlockVerticalAlignment.NSTextBlockTopAlignment NSTextBlockTopAlignment; alias NSTextBlockVerticalAlignment.NSTextBlockMiddleAlignment NSTextBlockMiddleAlignment; alias NSTextBlockVerticalAlignment.NSTextBlockBottomAlignment NSTextBlockBottomAlignment; alias NSTextBlockVerticalAlignment.NSTextBlockBaselineAlignment NSTextBlockBaselineAlignment; enum NSTextBlockLayer : NSInteger { NSTextBlockPadding = -1, NSTextBlockBorder = 0, NSTextBlockMargin = 1 } alias NSTextBlockLayer.NSTextBlockPadding NSTextBlockPadding; alias NSTextBlockLayer.NSTextBlockBorder NSTextBlockBorder; alias NSTextBlockLayer.NSTextBlockMargin NSTextBlockMargin; enum NSTextTableLayoutAlgorithm : NSUInteger { NSTextTableAutomaticLayoutAlgorithm = 0, NSTextTableFixedLayoutAlgorithm = 1 } alias NSTextTableLayoutAlgorithm.NSTextTableAutomaticLayoutAlgorithm NSTextTableAutomaticLayoutAlgorithm; alias NSTextTableLayoutAlgorithm.NSTextTableFixedLayoutAlgorithm NSTextTableFixedLayoutAlgorithm; public class NSTextTable : NSTextBlock { public this () { super(); } public this (objc.id id) { super(id); } public NSRect boundsRectForBlock (NSTextTableBlock block, NSRect contentRect, NSRect rect, NSTextContainer textContainer, NSRange charRange) { NSRect result; OS.objc_msgSend_stret(result, this.id, OS.sel_boundsRectForBlock_1contentRect_1inRect_1textContainer_1characterRange_1, block !is null ? block.id : null, contentRect, rect, textContainer !is null ? textContainer.id : null, charRange); return result; } public bool collapsesBorders () { return OS.objc_msgSend(this.id, OS.sel_collapsesBorders) !is null; } public void drawBackgroundForBlock (NSTextTableBlock block, NSRect frameRect, NSView controlView, NSRange charRange, NSLayoutManager layoutManager) { OS.objc_msgSend(this.id, OS.sel_drawBackgroundForBlock_1withFrame_1inView_1characterRange_1layoutManager_1, block !is null ? block.id : null, frameRect, controlView !is null ? controlView.id : null, charRange, layoutManager !is null ? layoutManager.id : null); } public bool hidesEmptyCells () { return OS.objc_msgSend(this.id, OS.sel_hidesEmptyCells) !is null; } public NSTextTableLayoutAlgorithm layoutAlgorithm () { return cast(NSTextTableLayoutAlgorithm) OS.objc_msgSend(this.id, OS.sel_layoutAlgorithm); } public NSUInteger numberOfColumns () { return cast(NSUInteger) OS.objc_msgSend(this.id, OS.sel_numberOfColumns); } public NSRect rectForBlock (NSTextTableBlock block, NSPoint startingPoint, NSRect rect, NSTextContainer textContainer, NSRange charRange) { NSRect result; OS.objc_msgSend_stret(result, this.id, OS.sel_rectForBlock_1layoutAtPoint_1inRect_1textContainer_1characterRange_1, block !is null ? block.id : null, startingPoint, rect, textContainer !is null ? textContainer.id : null, charRange); return result; } public void setCollapsesBorders (bool flag) { OS.objc_msgSend(this.id, OS.sel_setCollapsesBorders_1, flag); } public void setHidesEmptyCells (bool flag) { OS.objc_msgSend(this.id, OS.sel_setHidesEmptyCells_1, flag); } public void setLayoutAlgorithm (NSTextTableLayoutAlgorithm algorithm) { OS.objc_msgSend(this.id, OS.sel_setLayoutAlgorithm_1, algorithm); } public void setNumberOfColumns (NSUInteger numCols) { OS.objc_msgSend(this.id, OS.sel_setNumberOfColumns_1, numCols); } }