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

import dstep.appkit.AppKitDefines;
import dstep.appkit.NSPrinter;
import dstep.applicationservices.coregraphics.CGBase;
import dstep.foundation.NSCoder;
import dstep.foundation.NSDictionary;
import dstep.foundation.NSGeometry;
import dstep.foundation.NSObjCRuntime;
import dstep.foundation.NSObject;
import dstep.foundation.NSString;
import dstep.foundation.NSZone;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc;

import bindings = dstep.appkit.NSPrintInfo_bindings;

typedef NSUInteger NSPrintingOrientation;
typedef NSUInteger NSPrintingPaginationMode;

private
{
	NSString NSPrintSpoolJob_;
	NSString NSPrintPreviewJob_;
	NSString NSPrintSaveJob_;
	NSString NSPrintCancelJob_;
	NSString NSPrintPaperName_;
	NSString NSPrintPaperSize_;
	NSString NSPrintOrientation_;
	NSString NSPrintScalingFactor_;
	NSString NSPrintLeftMargin_;
	NSString NSPrintRightMargin_;
	NSString NSPrintTopMargin_;
	NSString NSPrintBottomMargin_;
	NSString NSPrintHorizontallyCentered_;
	NSString NSPrintVerticallyCentered_;
	NSString NSPrintHorizontalPagination_;
	NSString NSPrintVerticalPagination_;
	NSString NSPrintPrinter_;
	NSString NSPrintCopies_;
	NSString NSPrintAllPages_;
	NSString NSPrintFirstPage_;
	NSString NSPrintLastPage_;
	NSString NSPrintMustCollate_;
	NSString NSPrintReversePageOrder_;
	NSString NSPrintJobDisposition_;
	NSString NSPrintSavePath_;
	NSString NSPrintPagesAcross_;
	NSString NSPrintPagesDown_;
	NSString NSPrintTime_;
	NSString NSPrintDetailedErrorReporting_;
	NSString NSPrintFaxNumber_;
	NSString NSPrintPrinterName_;
	NSString NSPrintHeaderAndFooter_;
	NSString NSPrintFormName_;
	NSString NSPrintJobFeatures_;
	NSString NSPrintManualFeed_;
	NSString NSPrintPagesPerSheet_;
	NSString NSPrintPaperFeed_;
	NSString NSPrintFaxCoverSheetName_;
	NSString NSPrintFaxHighResolution_;
	NSString NSPrintFaxModem_;
	NSString NSPrintFaxReceiverNames_;
	NSString NSPrintFaxReceiverNumbers_;
	NSString NSPrintFaxReturnReceipt_;
	NSString NSPrintFaxSendTime_;
	NSString NSPrintFaxTrimPageEnds_;
	NSString NSPrintFaxUseCoverSheet_;
	NSString NSPrintFaxJob_;
}

NSString NSPrintSpoolJob ()
{
	if (NSPrintSpoolJob_)
		return NSPrintSpoolJob_;

	return NSPrintSpoolJob_ = new NSString(bindings.NSPrintSpoolJob);
}

NSString NSPrintPreviewJob ()
{
	if (NSPrintPreviewJob_)
		return NSPrintPreviewJob_;

	return NSPrintPreviewJob_ = new NSString(bindings.NSPrintPreviewJob);
}

NSString NSPrintSaveJob ()
{
	if (NSPrintSaveJob_)
		return NSPrintSaveJob_;

	return NSPrintSaveJob_ = new NSString(bindings.NSPrintSaveJob);
}

NSString NSPrintCancelJob ()
{
	if (NSPrintCancelJob_)
		return NSPrintCancelJob_;

	return NSPrintCancelJob_ = new NSString(bindings.NSPrintCancelJob);
}

NSString NSPrintPaperName ()
{
	if (NSPrintPaperName_)
		return NSPrintPaperName_;

	return NSPrintPaperName_ = new NSString(bindings.NSPrintPaperName);
}

NSString NSPrintPaperSize ()
{
	if (NSPrintPaperSize_)
		return NSPrintPaperSize_;

	return NSPrintPaperSize_ = new NSString(bindings.NSPrintPaperSize);
}

NSString NSPrintOrientation ()
{
	if (NSPrintOrientation_)
		return NSPrintOrientation_;

	return NSPrintOrientation_ = new NSString(bindings.NSPrintOrientation);
}

NSString NSPrintScalingFactor ()
{
	if (NSPrintScalingFactor_)
		return NSPrintScalingFactor_;

	return NSPrintScalingFactor_ = new NSString(bindings.NSPrintScalingFactor);
}

NSString NSPrintLeftMargin ()
{
	if (NSPrintLeftMargin_)
		return NSPrintLeftMargin_;

	return NSPrintLeftMargin_ = new NSString(bindings.NSPrintLeftMargin);
}

NSString NSPrintRightMargin ()
{
	if (NSPrintRightMargin_)
		return NSPrintRightMargin_;

	return NSPrintRightMargin_ = new NSString(bindings.NSPrintRightMargin);
}

NSString NSPrintTopMargin ()
{
	if (NSPrintTopMargin_)
		return NSPrintTopMargin_;

	return NSPrintTopMargin_ = new NSString(bindings.NSPrintTopMargin);
}

NSString NSPrintBottomMargin ()
{
	if (NSPrintBottomMargin_)
		return NSPrintBottomMargin_;

	return NSPrintBottomMargin_ = new NSString(bindings.NSPrintBottomMargin);
}

NSString NSPrintHorizontallyCentered ()
{
	if (NSPrintHorizontallyCentered_)
		return NSPrintHorizontallyCentered_;

	return NSPrintHorizontallyCentered_ = new NSString(bindings.NSPrintHorizontallyCentered);
}

NSString NSPrintVerticallyCentered ()
{
	if (NSPrintVerticallyCentered_)
		return NSPrintVerticallyCentered_;

	return NSPrintVerticallyCentered_ = new NSString(bindings.NSPrintVerticallyCentered);
}

NSString NSPrintHorizontalPagination ()
{
	if (NSPrintHorizontalPagination_)
		return NSPrintHorizontalPagination_;

	return NSPrintHorizontalPagination_ = new NSString(bindings.NSPrintHorizontalPagination);
}

NSString NSPrintVerticalPagination ()
{
	if (NSPrintVerticalPagination_)
		return NSPrintVerticalPagination_;

	return NSPrintVerticalPagination_ = new NSString(bindings.NSPrintVerticalPagination);
}

NSString NSPrintPrinter ()
{
	if (NSPrintPrinter_)
		return NSPrintPrinter_;

	return NSPrintPrinter_ = new NSString(bindings.NSPrintPrinter);
}

NSString NSPrintCopies ()
{
	if (NSPrintCopies_)
		return NSPrintCopies_;

	return NSPrintCopies_ = new NSString(bindings.NSPrintCopies);
}

NSString NSPrintAllPages ()
{
	if (NSPrintAllPages_)
		return NSPrintAllPages_;

	return NSPrintAllPages_ = new NSString(bindings.NSPrintAllPages);
}

NSString NSPrintFirstPage ()
{
	if (NSPrintFirstPage_)
		return NSPrintFirstPage_;

	return NSPrintFirstPage_ = new NSString(bindings.NSPrintFirstPage);
}

NSString NSPrintLastPage ()
{
	if (NSPrintLastPage_)
		return NSPrintLastPage_;

	return NSPrintLastPage_ = new NSString(bindings.NSPrintLastPage);
}

NSString NSPrintMustCollate ()
{
	if (NSPrintMustCollate_)
		return NSPrintMustCollate_;

	return NSPrintMustCollate_ = new NSString(bindings.NSPrintMustCollate);
}

NSString NSPrintReversePageOrder ()
{
	if (NSPrintReversePageOrder_)
		return NSPrintReversePageOrder_;

	return NSPrintReversePageOrder_ = new NSString(bindings.NSPrintReversePageOrder);
}

NSString NSPrintJobDisposition ()
{
	if (NSPrintJobDisposition_)
		return NSPrintJobDisposition_;

	return NSPrintJobDisposition_ = new NSString(bindings.NSPrintJobDisposition);
}

NSString NSPrintSavePath ()
{
	if (NSPrintSavePath_)
		return NSPrintSavePath_;

	return NSPrintSavePath_ = new NSString(bindings.NSPrintSavePath);
}

NSString NSPrintPagesAcross ()
{
	if (NSPrintPagesAcross_)
		return NSPrintPagesAcross_;

	return NSPrintPagesAcross_ = new NSString(bindings.NSPrintPagesAcross);
}

NSString NSPrintPagesDown ()
{
	if (NSPrintPagesDown_)
		return NSPrintPagesDown_;

	return NSPrintPagesDown_ = new NSString(bindings.NSPrintPagesDown);
}

NSString NSPrintTime ()
{
	if (NSPrintTime_)
		return NSPrintTime_;

	return NSPrintTime_ = new NSString(bindings.NSPrintTime);
}

NSString NSPrintDetailedErrorReporting ()
{
	if (NSPrintDetailedErrorReporting_)
		return NSPrintDetailedErrorReporting_;

	return NSPrintDetailedErrorReporting_ = new NSString(bindings.NSPrintDetailedErrorReporting);
}

NSString NSPrintFaxNumber ()
{
	if (NSPrintFaxNumber_)
		return NSPrintFaxNumber_;

	return NSPrintFaxNumber_ = new NSString(bindings.NSPrintFaxNumber);
}

NSString NSPrintPrinterName ()
{
	if (NSPrintPrinterName_)
		return NSPrintPrinterName_;

	return NSPrintPrinterName_ = new NSString(bindings.NSPrintPrinterName);
}

NSString NSPrintHeaderAndFooter ()
{
	if (NSPrintHeaderAndFooter_)
		return NSPrintHeaderAndFooter_;

	return NSPrintHeaderAndFooter_ = new NSString(bindings.NSPrintHeaderAndFooter);
}

NSString NSPrintFormName ()
{
	if (NSPrintFormName_)
		return NSPrintFormName_;

	return NSPrintFormName_ = new NSString(bindings.NSPrintFormName);
}

NSString NSPrintJobFeatures ()
{
	if (NSPrintJobFeatures_)
		return NSPrintJobFeatures_;

	return NSPrintJobFeatures_ = new NSString(bindings.NSPrintJobFeatures);
}

NSString NSPrintManualFeed ()
{
	if (NSPrintManualFeed_)
		return NSPrintManualFeed_;

	return NSPrintManualFeed_ = new NSString(bindings.NSPrintManualFeed);
}

NSString NSPrintPagesPerSheet ()
{
	if (NSPrintPagesPerSheet_)
		return NSPrintPagesPerSheet_;

	return NSPrintPagesPerSheet_ = new NSString(bindings.NSPrintPagesPerSheet);
}

NSString NSPrintPaperFeed ()
{
	if (NSPrintPaperFeed_)
		return NSPrintPaperFeed_;

	return NSPrintPaperFeed_ = new NSString(bindings.NSPrintPaperFeed);
}

NSString NSPrintFaxCoverSheetName ()
{
	if (NSPrintFaxCoverSheetName_)
		return NSPrintFaxCoverSheetName_;

	return NSPrintFaxCoverSheetName_ = new NSString(bindings.NSPrintFaxCoverSheetName);
}

NSString NSPrintFaxHighResolution ()
{
	if (NSPrintFaxHighResolution_)
		return NSPrintFaxHighResolution_;

	return NSPrintFaxHighResolution_ = new NSString(bindings.NSPrintFaxHighResolution);
}

NSString NSPrintFaxModem ()
{
	if (NSPrintFaxModem_)
		return NSPrintFaxModem_;

	return NSPrintFaxModem_ = new NSString(bindings.NSPrintFaxModem);
}

NSString NSPrintFaxReceiverNames ()
{
	if (NSPrintFaxReceiverNames_)
		return NSPrintFaxReceiverNames_;

	return NSPrintFaxReceiverNames_ = new NSString(bindings.NSPrintFaxReceiverNames);
}

NSString NSPrintFaxReceiverNumbers ()
{
	if (NSPrintFaxReceiverNumbers_)
		return NSPrintFaxReceiverNumbers_;

	return NSPrintFaxReceiverNumbers_ = new NSString(bindings.NSPrintFaxReceiverNumbers);
}

NSString NSPrintFaxReturnReceipt ()
{
	if (NSPrintFaxReturnReceipt_)
		return NSPrintFaxReturnReceipt_;

	return NSPrintFaxReturnReceipt_ = new NSString(bindings.NSPrintFaxReturnReceipt);
}

NSString NSPrintFaxSendTime ()
{
	if (NSPrintFaxSendTime_)
		return NSPrintFaxSendTime_;

	return NSPrintFaxSendTime_ = new NSString(bindings.NSPrintFaxSendTime);
}

NSString NSPrintFaxTrimPageEnds ()
{
	if (NSPrintFaxTrimPageEnds_)
		return NSPrintFaxTrimPageEnds_;

	return NSPrintFaxTrimPageEnds_ = new NSString(bindings.NSPrintFaxTrimPageEnds);
}

NSString NSPrintFaxUseCoverSheet ()
{
	if (NSPrintFaxUseCoverSheet_)
		return NSPrintFaxUseCoverSheet_;

	return NSPrintFaxUseCoverSheet_ = new NSString(bindings.NSPrintFaxUseCoverSheet);
}

NSString NSPrintFaxJob ()
{
	if (NSPrintFaxJob_)
		return NSPrintFaxJob_;

	return NSPrintFaxJob_ = new NSString(bindings.NSPrintFaxJob);
}

enum : NSUInteger
{
	NSPortraitOrientation = 0,
	NSLandscapeOrientation = 1
}

enum : NSUInteger
{
	NSAutoPagination = 0,
	NSFitPagination = 1,
	NSClipPagination = 2
}

class NSPrintInfo : NSObject, INSCopying, INSCoding
{
	mixin (ObjcWrap);
	
	this (NSCoder aDecoder)
	{
		super(typeof(this).alloc.initWithCoder(aDecoder).objcObject);
	}
	
	void encodeWithCoder (NSCoder aCoder)
	{
		return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder);
	}
	
	typeof(this) initWithCoder (NSCoder aDecoder)
	{
		return invokeObjcSelf!(typeof(this), "initWithCoder:", NSCoder)(aDecoder);
	}
	
	typeof(this) copyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(typeof(this), "copyWithZone:", NSZone*)(zone);
	}

	static void setSharedPrintInfo (NSPrintInfo printInfo)
	{
		return invokeObjcSelfClass!(void, "setSharedPrintInfo:", NSPrintInfo)(printInfo);
	}

	static NSPrintInfo sharedPrintInfo ()
	{
		return invokeObjcSelfClass!(NSPrintInfo, "sharedPrintInfo");
	}

	NSPrintInfo initWithDictionary (NSDictionary attributes)
	{
		id result = invokeObjcSelf!(id, "initWithDictionary:", NSDictionary)(attributes);
		return result is this.objcObject ? this : (result !is null ? new NSPrintInfo(result) : null);
	}

	this (NSDictionary attributes)
	{
		super(NSPrintInfo.alloc.initWithDictionary(attributes).objcObject);
	}

	NSMutableDictionary dictionary ()
	{
		return invokeObjcSelf!(NSMutableDictionary, "dictionary");
	}

	void setPaperName (NSString name)
	{
		return invokeObjcSelf!(void, "setPaperName:", NSString)(name);
	}

	void setPaperSize (NSSize size)
	{
		return invokeObjcSelf!(void, "setPaperSize:", NSSize)(size);
	}

	void setOrientation (uint orientation)
	{
		return invokeObjcSelf!(void, "setOrientation:", uint)(orientation);
	}

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

	NSSize paperSize ()
	{
		return invokeObjcSelf!(NSSize, "paperSize");
	}

	uint orientation ()
	{
		return invokeObjcSelf!(uint, "orientation");
	}

	void setLeftMargin (CGFloat margin)
	{
		return invokeObjcSelf!(void, "setLeftMargin:", CGFloat)(margin);
	}

	void setRightMargin (CGFloat margin)
	{
		return invokeObjcSelf!(void, "setRightMargin:", CGFloat)(margin);
	}

	void setTopMargin (CGFloat margin)
	{
		return invokeObjcSelf!(void, "setTopMargin:", CGFloat)(margin);
	}

	void setBottomMargin (CGFloat margin)
	{
		return invokeObjcSelf!(void, "setBottomMargin:", CGFloat)(margin);
	}

	CGFloat leftMargin ()
	{
		return invokeObjcSelf!(CGFloat, "leftMargin");
	}

	CGFloat rightMargin ()
	{
		return invokeObjcSelf!(CGFloat, "rightMargin");
	}

	CGFloat topMargin ()
	{
		return invokeObjcSelf!(CGFloat, "topMargin");
	}

	CGFloat bottomMargin ()
	{
		return invokeObjcSelf!(CGFloat, "bottomMargin");
	}

	void setHorizontallyCentered (bool flag)
	{
		return invokeObjcSelf!(void, "setHorizontallyCentered:", bool)(flag);
	}

	void setVerticallyCentered (bool flag)
	{
		return invokeObjcSelf!(void, "setVerticallyCentered:", bool)(flag);
	}

	bool isHorizontallyCentered ()
	{
		return invokeObjcSelf!(bool, "isHorizontallyCentered");
	}

	bool isVerticallyCentered ()
	{
		return invokeObjcSelf!(bool, "isVerticallyCentered");
	}

	void setHorizontalPagination (uint mode)
	{
		return invokeObjcSelf!(void, "setHorizontalPagination:", uint)(mode);
	}

	void setVerticalPagination (uint mode)
	{
		return invokeObjcSelf!(void, "setVerticalPagination:", uint)(mode);
	}

	uint horizontalPagination ()
	{
		return invokeObjcSelf!(uint, "horizontalPagination");
	}

	uint verticalPagination ()
	{
		return invokeObjcSelf!(uint, "verticalPagination");
	}

	void setJobDisposition (NSString disposition)
	{
		return invokeObjcSelf!(void, "setJobDisposition:", NSString)(disposition);
	}

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

	void setPrinter (NSPrinter printer)
	{
		return invokeObjcSelf!(void, "setPrinter:", NSPrinter)(printer);
	}

	NSPrinter printer ()
	{
		return invokeObjcSelf!(NSPrinter, "printer");
	}

	void setUpPrintOperationDefaultValues ()
	{
		return invokeObjcSelf!(void, "setUpPrintOperationDefaultValues");
	}

	NSRect imageablePageBounds ()
	{
		return invokeObjcSelf!(NSRect, "imageablePageBounds");
	}

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

	static NSPrinter defaultPrinter ()
	{
		return invokeObjcSelfClass!(NSPrinter, "defaultPrinter");
	}

	NSMutableDictionary printSettings ()
	{
		return invokeObjcSelf!(NSMutableDictionary, "printSettings");
	}

	void* PMPrintSession ()
	{
		return invokeObjcSelf!(void*, "PMPrintSession");
	}

	void* PMPageFormat ()
	{
		return invokeObjcSelf!(void*, "PMPageFormat");
	}

	void* PMPrintSettings ()
	{
		return invokeObjcSelf!(void*, "PMPrintSettings");
	}

	void updateFromPMPageFormat ()
	{
		return invokeObjcSelf!(void, "updateFromPMPageFormat");
	}

	void updateFromPMPrintSettings ()
	{
		return invokeObjcSelf!(void, "updateFromPMPrintSettings");
	}

}