Mercurial > projects > dstep
view dstep/appkit/NSAlert.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.NSAlert; import dstep.appkit.NSButton; import dstep.appkit.NSGraphics; import dstep.appkit.NSImage; import dstep.appkit.NSPanel; import dstep.appkit.NSTextField; import dstep.appkit.NSView; import dstep.appkit.NSWindow; import dstep.foundation.NSArray; import dstep.foundation.NSError; import dstep.foundation.NSObjCRuntime; import dstep.foundation.NSObject; import dstep.foundation.NSString; import dstep.objc.bridge.Bridge; import dstep.objc.objc; alias NSUInteger NSAlertStyle; enum { NSWarningAlertStyle = 0, NSInformationalAlertStyle = 1, NSCriticalAlertStyle = 2 } enum { NSAlertFirstButtonReturn = 1000, NSAlertSecondButtonReturn = 1001, NSAlertThirdButtonReturn = 1002 } class NSAlert : NSObject { mixin (ObjcWrap); static NSAlert alertWithError (NSError error) { return invokeObjcSelfClass!(NSAlert, "alertWithError:", NSError)(error); } static NSAlert alertWithMessageText (NSString message, NSString defaultButton, NSString alternateButton, NSString otherButton, NSString informativeTextWithFormat, ...) { return invokeObjcSelfClass!(NSAlert, "alertWithMessageText:defaultButton:alternateButton:otherButton:informativeTextWithFormat:", NSString, NSString, NSString, NSString, NSString)(message, defaultButton, alternateButton, otherButton, informativeTextWithFormat); } void setMessageText (NSString messageText) { return invokeObjcSelf!(void, "setMessageText:", NSString)(messageText); } void setInformativeText (NSString informativeText) { return invokeObjcSelf!(void, "setInformativeText:", NSString)(informativeText); } NSString messageText () { return invokeObjcSelf!(NSString, "messageText"); } NSString informativeText () { return invokeObjcSelf!(NSString, "informativeText"); } void setIcon (NSImage icon) { return invokeObjcSelf!(void, "setIcon:", NSImage)(icon); } NSImage icon () { return invokeObjcSelf!(NSImage, "icon"); } NSButton addButtonWithTitle (NSString title) { return invokeObjcSelf!(NSButton, "addButtonWithTitle:", NSString)(title); } NSArray buttons () { return invokeObjcSelf!(NSArray, "buttons"); } void setShowsHelp (bool showsHelp) { return invokeObjcSelf!(void, "setShowsHelp:", bool)(showsHelp); } bool showsHelp () { return invokeObjcSelf!(bool, "showsHelp"); } void setHelpAnchor (NSString anchor) { return invokeObjcSelf!(void, "setHelpAnchor:", NSString)(anchor); } NSString helpAnchor () { return invokeObjcSelf!(NSString, "helpAnchor"); } void setAlertStyle (uint style) { return invokeObjcSelf!(void, "setAlertStyle:", uint)(style); } uint alertStyle () { return invokeObjcSelf!(uint, "alertStyle"); } void setDelegate (Object delegate_) { return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_); } Object delegate_ () { return invokeObjcSelf!(Object, "delegate"); } void setShowsSuppressionButton (bool flag) { return invokeObjcSelf!(void, "setShowsSuppressionButton:", bool)(flag); } bool showsSuppressionButton () { return invokeObjcSelf!(bool, "showsSuppressionButton"); } NSButton suppressionButton () { return invokeObjcSelf!(NSButton, "suppressionButton"); } void setAccessoryView (NSView view) { return invokeObjcSelf!(void, "setAccessoryView:", NSView)(view); } NSView accessoryView () { return invokeObjcSelf!(NSView, "accessoryView"); } void layout () { return invokeObjcSelf!(void, "layout"); } NSInteger runModal () { return invokeObjcSelf!(NSInteger, "runModal"); } void beginSheetModalForWindow (NSWindow window, Object delegate_, SEL didEndSelector, void* contextInfo) { return invokeObjcSelf!(void, "beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:", NSWindow, Object, SEL, void*)(window, delegate_, didEndSelector, contextInfo); } Object window () { return invokeObjcSelf!(Object, "window"); } } const TNSAlertDelegate = ` bool alertShowHelp (NSAlert alert) { return invokeObjcSelf!(bool, "alertShowHelp:", NSAlert)(alert); } //mixin ObjcBindMethod!(alertShowHelp, "alertShowHelp:"); `;