Mercurial > projects > dwt-mac
view dwt/internal/cocoa/NSScroller.d @ 1:8b48be5454ce
The internal cocoa classes compile now
author | Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com> |
---|---|
date | Tue, 19 Aug 2008 17:35:17 +0200 |
parents | 380af2bdd8e5 |
children | f565d3a95c0a |
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.NSScroller; import dwt.internal.cocoa.CGFloat; import dwt.internal.cocoa.NSCell : NSControlSize, NSControlTint; import dwt.internal.cocoa.NSControl; import dwt.internal.cocoa.NSEvent; import dwt.internal.cocoa.NSPoint; import dwt.internal.cocoa.NSRect; import dwt.internal.cocoa.OS; import objc = dwt.internal.objc.runtime; enum NSScrollArrowPosition { NSScrollerArrowsMaxEnd = 0, NSScrollerArrowsMinEnd = 1, NSScrollerArrowsDefaultSetting = 0, NSScrollerArrowsNone = 2 } alias NSScrollArrowPosition.NSScrollerArrowsMaxEnd NSScrollerArrowsMaxEnd; alias NSScrollArrowPosition.NSScrollerArrowsMinEnd NSScrollerArrowsMinEnd; alias NSScrollArrowPosition.NSScrollerArrowsDefaultSetting NSScrollerArrowsDefaultSetting; alias NSScrollArrowPosition.NSScrollerArrowsNone NSScrollerArrowsNone; enum NSScrollerArrow { NSScrollerIncrementArrow = 0, NSScrollerDecrementArrow = 1 } alias NSScrollerArrow.NSScrollerIncrementArrow NSScrollerIncrementArrow; alias NSScrollerArrow.NSScrollerDecrementArrow NSScrollerDecrementArrow; enum NSScrollerPart { NSScrollerNoPart = 0, NSScrollerDecrementPage = 1, NSScrollerKnob = 2, NSScrollerIncrementPage = 3, NSScrollerDecrementLine = 4, NSScrollerIncrementLine = 5, NSScrollerKnobSlot = 6 } alias NSScrollerPart.NSScrollerNoPart NSScrollerNoPart; alias NSScrollerPart.NSScrollerDecrementPage NSScrollerDecrementPage; alias NSScrollerPart.NSScrollerKnob NSScrollerKnob; alias NSScrollerPart.NSScrollerIncrementPage NSScrollerIncrementPage; alias NSScrollerPart.NSScrollerDecrementLine NSScrollerDecrementLine; alias NSScrollerPart.NSScrollerIncrementLine NSScrollerIncrementLine; alias NSScrollerPart.NSScrollerKnobSlot NSScrollerKnobSlot; enum NSUsableScrollerParts { NSNoScrollerParts = 0, NSOnlyScrollerArrows = 1, NSAllScrollerParts = 2 } alias NSUsableScrollerParts.NSNoScrollerParts NSNoScrollerParts; alias NSUsableScrollerParts.NSOnlyScrollerArrows NSOnlyScrollerArrows; alias NSUsableScrollerParts.NSAllScrollerParts NSAllScrollerParts; public class NSScroller : NSControl { public this () { super(); } public this (objc.id id) { super(id); } public NSScrollArrowPosition arrowsPosition () { return cast(NSScrollArrowPosition) OS.objc_msgSend(this.id_, OS.sel_arrowsPosition); } public void checkSpaceForParts () { OS.objc_msgSend(this.id_, OS.sel_checkSpaceForParts); } public NSControlSize controlSize () { return cast(NSControlSize) OS.objc_msgSend(this.id_, OS.sel_controlSize); } public NSControlTint controlTint () { return cast(NSControlTint) OS.objc_msgSend(this.id_, OS.sel_controlTint); } public void drawArrow (NSScrollerArrow whichArrow, bool flag) { OS.objc_msgSend(this.id_, OS.sel_drawArrow_1highlight_1, whichArrow, flag); } public void drawKnob () { OS.objc_msgSend(this.id_, OS.sel_drawKnob); } public void drawKnobSlotInRect (NSRect slotRect, bool flag) { OS.objc_msgSend(this.id_, OS.sel_drawKnobSlotInRect_1highlight_1, slotRect, flag); } public void drawParts () { OS.objc_msgSend(this.id_, OS.sel_drawParts); } public void highlight (bool flag) { OS.objc_msgSend(this.id_, OS.sel_highlight_1, flag); } public NSScrollerPart hitPart () { return cast(NSScrollerPart) OS.objc_msgSend(this.id_, OS.sel_hitPart); } public CGFloat knobProportion () { return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_knobProportion); } public NSRect rectForPart (NSScrollerPart partCode) { NSRect result; OS.objc_msgSend_stret(&result, this.id_, OS.sel_rectForPart_1, partCode); return result; } public static CGFloat scrollerWidth () { return cast(CGFloat) OS.objc_msgSend_fpret(OS.class_NSScroller, OS.sel_scrollerWidth); } public static CGFloat scrollerWidthForControlSize (NSControlSize controlSize) { return cast(CGFloat) OS.objc_msgSend_fpret(OS.class_NSScroller, OS.sel_scrollerWidthForControlSize_1, controlSize); } public void setArrowsPosition (NSScrollArrowPosition where) { OS.objc_msgSend(this.id_, OS.sel_setArrowsPosition_1, where); } public void setControlSize (NSControlSize controlSize) { OS.objc_msgSend(this.id_, OS.sel_setControlSize_1, controlSize); } public void setControlTint (NSControlTint controlTint) { OS.objc_msgSend(this.id_, OS.sel_setControlTint_1, controlTint); } public void setFloatValue (float aFloat, CGFloat proportion) { OS.objc_msgSend(this.id_, OS.sel_setFloatValue_1knobProportion_1, aFloat, proportion); } public void setKnobProportion (CGFloat proportion) { OS.objc_msgSend(this.id_, OS.sel_setKnobProportion_1, proportion); } public NSScrollerPart testPart (NSPoint thePoint) { return cast(NSScrollerPart) OS.objc_msgSend(this.id_, OS.sel_testPart_1, thePoint); } public void trackKnob (NSEvent theEvent) { OS.objc_msgSend(this.id_, OS.sel_trackKnob_1, theEvent !is null ? theEvent.id_ : null); } public void trackScrollButtons (NSEvent theEvent) { OS.objc_msgSend(this.id_, OS.sel_trackScrollButtons_1, theEvent !is null ? theEvent.id_ : null); } public NSUsableScrollerParts usableParts () { return cast(NSUsableScrollerParts) OS.objc_msgSend(this.id_, OS.sel_usableParts); } }