view dstep/appkit/NSPrintPanel.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.NSPrintPanel;

import dstep.appkit.AppKitDefines;
import dstep.appkit.NSPrintInfo;
import dstep.appkit.NSView;
import dstep.appkit.NSViewController;
import dstep.appkit.NSWindow;
import dstep.appkit.NSWindowController;
import dstep.foundation.NSArray;
import dstep.foundation.NSObjCRuntime;
import dstep.foundation.NSObject;
import dstep.foundation.NSString;
import dstep.foundation.NSSet;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc;

import bindings = dstep.appkit.NSPrintPanel_bindings;

typedef NSInteger NSPrintPanelOptions;

private
{
	NSString NSPrintPhotoJobStyleHint_;
	NSString NSPrintPanelAccessorySummaryItemNameKey_;
	NSString NSPrintPanelAccessorySummaryItemDescriptionKey_;
}

NSString NSPrintPhotoJobStyleHint ()
{
	if (NSPrintPhotoJobStyleHint_)
		return NSPrintPhotoJobStyleHint_;

	return NSPrintPhotoJobStyleHint_ = new NSString(bindings.NSPrintPhotoJobStyleHint);
}

NSString NSPrintPanelAccessorySummaryItemNameKey ()
{
	if (NSPrintPanelAccessorySummaryItemNameKey_)
		return NSPrintPanelAccessorySummaryItemNameKey_;

	return NSPrintPanelAccessorySummaryItemNameKey_ = new NSString(bindings.NSPrintPanelAccessorySummaryItemNameKey);
}

NSString NSPrintPanelAccessorySummaryItemDescriptionKey ()
{
	if (NSPrintPanelAccessorySummaryItemDescriptionKey_)
		return NSPrintPanelAccessorySummaryItemDescriptionKey_;

	return NSPrintPanelAccessorySummaryItemDescriptionKey_ = new NSString(bindings.NSPrintPanelAccessorySummaryItemDescriptionKey);
}

enum : NSInteger
{
	NSPrintPanelShowsCopies = 0x01,
	NSPrintPanelShowsPageRange = 0x02,
	NSPrintPanelShowsPaperSize = 0x04,
	NSPrintPanelShowsOrientation = 0x08,
	NSPrintPanelShowsScaling = 0x10,
	NSPrintPanelShowsPageSetupAccessory = 0x100,
	NSPrintPanelShowsPreview = 0x20000
}

class NSPrintPanel : NSObject
{
	mixin (ObjcWrap);

	static NSPrintPanel printPanel ()
	{
		return invokeObjcSelfClass!(NSPrintPanel, "printPanel");
	}

	void addAccessoryController (INSPrintPanelAccessorizing accessoryController)
	{
		return invokeObjcSelf!(void, "addAccessoryController:", INSPrintPanelAccessorizing)(accessoryController);
	}

	void removeAccessoryController (INSPrintPanelAccessorizing accessoryController)
	{
		return invokeObjcSelf!(void, "removeAccessoryController:", INSPrintPanelAccessorizing)(accessoryController);
	}

	NSArray accessoryControllers ()
	{
		return invokeObjcSelf!(NSArray, "accessoryControllers");
	}

	void setOptions (int options)
	{
		return invokeObjcSelf!(void, "setOptions:", int)(options);
	}

	int options ()
	{
		return invokeObjcSelf!(int, "options");
	}

	void setDefaultButtonTitle (NSString defaultButtonTitle)
	{
		return invokeObjcSelf!(void, "setDefaultButtonTitle:", NSString)(defaultButtonTitle);
	}

	NSString defaultButtonTitle ()
	{
		return invokeObjcSelf!(NSString, "defaultButtonTitle");
	}

	void setHelpAnchor (NSString helpAnchor)
	{
		return invokeObjcSelf!(void, "setHelpAnchor:", NSString)(helpAnchor);
	}

	NSString helpAnchor ()
	{
		return invokeObjcSelf!(NSString, "helpAnchor");
	}

	void setJobStyleHint (NSString hint)
	{
		return invokeObjcSelf!(void, "setJobStyleHint:", NSString)(hint);
	}

	NSString jobStyleHint ()
	{
		return invokeObjcSelf!(NSString, "jobStyleHint");
	}

	void beginSheetWithPrintInfo (NSPrintInfo printInfo, NSWindow docWindow, Object delegate_, SEL didEndSelector, void* contextInfo)
	{
		return invokeObjcSelf!(void, "beginSheetWithPrintInfo:modalForWindow:delegate:didEndSelector:contextInfo:", NSPrintInfo, NSWindow, Object, SEL, void*)(printInfo, docWindow, delegate_, didEndSelector, contextInfo);
	}

	NSInteger runModalWithPrintInfo (NSPrintInfo printInfo)
	{
		return invokeObjcSelf!(NSInteger, "runModalWithPrintInfo:", NSPrintInfo)(printInfo);
	}

	NSInteger runModal ()
	{
		return invokeObjcSelf!(NSInteger, "runModal");
	}

	NSPrintInfo printInfo ()
	{
		return invokeObjcSelf!(NSPrintInfo, "printInfo");
	}
}

interface INSPrintPanelAccessorizing
{
	NSArray localizedSummaryItems ();
	NSSet keyPathsForValuesAffectingPreview ();
}