Mercurial > projects > dstep
view dstep/appkit/NSBox.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | |
children | b9de51448c6b |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Sep 24, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.appkit.NSBox; import dstep.appkit.NSColor; import dstep.appkit.NSFont; import dstep.appkit.NSView; import dstep.applicationservices.coregraphics.CGBase; import dstep.foundation.NSGeometry; import dstep.foundation.NSObjCRuntime; import dstep.foundation.NSString; import dstep.objc.bridge.Bridge; import dstep.objc.objc; alias NSUInteger NSTitlePosition; alias NSUInteger NSBoxType; enum { NSNoTitle = 0, NSAboveTop = 1, NSAtTop = 2, NSBelowTop = 3, NSAboveBottom = 4, NSAtBottom = 5, NSBelowBottom = 6 } enum { NSBoxPrimary = 0, NSBoxSecondary = 1, NSBoxSeparator = 2, NSBoxOldStyle = 3, NSBoxCustom = 4 } const TNSCustomBoxTypeProperties = ` CGFloat borderWidth () { return invokeObjcSelf!(CGFloat, "borderWidth"); } void setBorderWidth (CGFloat borderWidth) { return invokeObjcSelf!(void, "setBorderWidth:", CGFloat)(borderWidth); } CGFloat cornerRadius () { return invokeObjcSelf!(CGFloat, "cornerRadius"); } void setCornerRadius (CGFloat cornerRadius) { return invokeObjcSelf!(void, "setCornerRadius:", CGFloat)(cornerRadius); } NSColor borderColor () { return invokeObjcSelf!(NSColor, "borderColor"); } void setBorderColor (NSColor borderColor) { return invokeObjcSelf!(void, "setBorderColor:", NSColor)(borderColor); } NSColor fillColor () { return invokeObjcSelf!(NSColor, "fillColor"); } void setFillColor (NSColor fillColor) { return invokeObjcSelf!(void, "setFillColor:", NSColor)(fillColor); } //mixin ObjcBindMethod!(borderWidth, "borderWidth"); //mixin ObjcBindMethod!(setBorderWidth, "setBorderWidth:"); //mixin ObjcBindMethod!(cornerRadius, "cornerRadius"); //mixin ObjcBindMethod!(setCornerRadius, "setCornerRadius:"); //mixin ObjcBindMethod!(borderColor, "borderColor"); //mixin ObjcBindMethod!(setBorderColor, "setBorderColor:"); //mixin ObjcBindMethod!(fillColor, "fillColor"); //mixin ObjcBindMethod!(setFillColor, "setFillColor:"); `; class NSBox : NSView { mixin (ObjcWrap); uint borderType () { return invokeObjcSelf!(uint, "borderType"); } uint titlePosition () { return invokeObjcSelf!(uint, "titlePosition"); } void setBorderType (uint aType) { return invokeObjcSelf!(void, "setBorderType:", uint)(aType); } void setBoxType (uint boxType) { return invokeObjcSelf!(void, "setBoxType:", uint)(boxType); } uint boxType () { return invokeObjcSelf!(uint, "boxType"); } void setTitlePosition (uint aPosition) { return invokeObjcSelf!(void, "setTitlePosition:", uint)(aPosition); } NSString title () { return invokeObjcSelf!(NSString, "title"); } void setTitle (NSString aString) { return invokeObjcSelf!(void, "setTitle:", NSString)(aString); } NSFont titleFont () { return invokeObjcSelf!(NSFont, "titleFont"); } void setTitleFont (NSFont fontObj) { return invokeObjcSelf!(void, "setTitleFont:", NSFont)(fontObj); } NSRect borderRect () { return invokeObjcSelf!(NSRect, "borderRect"); } NSRect titleRect () { return invokeObjcSelf!(NSRect, "titleRect"); } Object titleCell () { return invokeObjcSelf!(Object, "titleCell"); } void sizeToFit () { return invokeObjcSelf!(void, "sizeToFit"); } NSSize contentViewMargins () { return invokeObjcSelf!(NSSize, "contentViewMargins"); } void setContentViewMargins (NSSize offsetSize) { return invokeObjcSelf!(void, "setContentViewMargins:", NSSize)(offsetSize); } void setFrameFromContentFrame (NSRect contentFrame) { return invokeObjcSelf!(void, "setFrameFromContentFrame:", NSRect)(contentFrame); } Object contentView () { return invokeObjcSelf!(Object, "contentView"); } void setContentView (NSView aView) { return invokeObjcSelf!(void, "setContentView:", NSView)(aView); } bool isTransparent () { return invokeObjcSelf!(bool, "isTransparent"); } void setTransparent (bool flag) { return invokeObjcSelf!(void, "setTransparent:", bool)(flag); } // NSCustomBoxTypeProperties CGFloat borderWidth () { return invokeObjcSelf!(CGFloat, "borderWidth"); } void setBorderWidth (CGFloat borderWidth) { return invokeObjcSelf!(void, "setBorderWidth:", CGFloat)(borderWidth); } CGFloat cornerRadius () { return invokeObjcSelf!(CGFloat, "cornerRadius"); } void setCornerRadius (CGFloat cornerRadius) { return invokeObjcSelf!(void, "setCornerRadius:", CGFloat)(cornerRadius); } NSColor borderColor () { return invokeObjcSelf!(NSColor, "borderColor"); } void setBorderColor (NSColor borderColor) { return invokeObjcSelf!(void, "setBorderColor:", NSColor)(borderColor); } NSColor fillColor () { return invokeObjcSelf!(NSColor, "fillColor"); } void setFillColor (NSColor fillColor) { return invokeObjcSelf!(void, "setFillColor:", NSColor)(fillColor); } }