view dwt/internal/cocoa/NSPrintInfo.d @ 13:f565d3a95c0a

Ported dwt.internal
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Fri, 22 Aug 2008 16:46:34 +0200
parents 8b48be5454ce
children d8635bb48c7c
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.NSPrintInfo;

import dwt.internal.cocoa.CGFloat;
import dwt.internal.cocoa.id;
import dwt.internal.cocoa.NSDictionary;
import dwt.internal.cocoa.NSMutableDictionary;
import dwt.internal.cocoa.NSObject;
import dwt.internal.cocoa.NSPrinter;
import dwt.internal.cocoa.NSRect;
import dwt.internal.cocoa.NSSize;
import dwt.internal.cocoa.NSString;
import dwt.internal.cocoa.OS;
import objc = dwt.internal.objc.runtime;

enum NSPrintingPaginationMode
{
    NSAutoPagination = 0,
    NSFitPagination = 1,
    NSClipPagination = 2
}

alias NSPrintingPaginationMode.NSAutoPagination NSAutoPagination;
alias NSPrintingPaginationMode.NSFitPagination NSFitPagination;
alias NSPrintingPaginationMode.NSClipPagination NSClipPagination;

enum NSPrintingOrientation
{
    NSPortraitOrientation = 0,
    NSLandscapeOrientation = 1
}

alias NSPrintingOrientation.NSPortraitOrientation NSPortraitOrientation;
alias NSPrintingOrientation.NSLandscapeOrientation NSLandscapeOrientation;

public class NSPrintInfo : NSObject
{

    public this ()
    {
        super();
    }

    public this (objc.id id)
    {
        super(id);
    }

    public void* PMPageFormat ()
    {
        return cast(void*) OS.objc_msgSend(this.id_, OS.sel_PMPageFormat);
    }

    public void* PMPrintSession ()
    {
        return cast(void*) OS.objc_msgSend(this.id_, OS.sel_PMPrintSession);
    }

    public void* PMPrintSettings ()
    {
        return cast(void*) OS.objc_msgSend(this.id_, OS.sel_PMPrintSettings);
    }

    public CGFloat bottomMargin ()
    {
        return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_bottomMargin);
    }

    public static NSPrinter defaultPrinter ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSPrintInfo, OS.sel_defaultPrinter);
        return result !is null ? new NSPrinter(result) : null;
    }

    public NSMutableDictionary dictionary ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_dictionary);
        return result !is null ? new NSMutableDictionary(result) : null;
    }

    public NSPrintingPaginationMode horizontalPagination ()
    {
        return cast(NSPrintingPaginationMode) OS.objc_msgSend(this.id_, OS.sel_horizontalPagination);
    }

    public NSRect imageablePageBounds ()
    {
        NSRect result;
        OS.objc_msgSend_stret(&result, this.id_, OS.sel_imageablePageBounds);
        return result;
    }

    public id initWithDictionary (NSDictionary attributes)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithDictionary_1, attributes !is null ? attributes.id_ : null);
        return result !is null ? new id(result) : null;
    }

    public bool isHorizontallyCentered ()
    {
        return OS.objc_msgSend(this.id_, OS.sel_isHorizontallyCentered) !is null;
    }

    public bool isVerticallyCentered ()
    {
        return OS.objc_msgSend(this.id_, OS.sel_isVerticallyCentered) !is null;
    }

    public NSString jobDisposition ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_jobDisposition);
        return result !is null ? new NSString(result) : null;
    }

    public CGFloat leftMargin ()
    {
        return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_leftMargin);
    }

    public NSString localizedPaperName ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_localizedPaperName);
        return result !is null ? new NSString(result) : null;
    }

    public NSPrintingOrientation orientation ()
    {
        return cast(NSPrintingOrientation) OS.objc_msgSend(this.id_, OS.sel_orientation);
    }

    public NSString paperName ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_paperName);
        return result !is null ? new NSString(result) : null;
    }

    public NSSize paperSize ()
    {
        NSSize result;
        OS.objc_msgSend_stret(&result, this.id_, OS.sel_paperSize);
        return result;
    }

    public NSMutableDictionary printSettings ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_printSettings);
        return result !is null ? new NSMutableDictionary(result) : null;
    }

    public NSPrinter printer ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_printer);
        return result !is null ? new NSPrinter(result) : null;
    }

    public CGFloat rightMargin ()
    {
        return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_rightMargin);
    }

    public void setBottomMargin (CGFloat margin)
    {
        OS.objc_msgSend(this.id_, OS.sel_setBottomMargin_1, margin);
    }

    public static void setDefaultPrinter (NSPrinter printer)
    {
        OS.objc_msgSend(OS.class_NSPrintInfo, OS.sel_setDefaultPrinter_1, printer !is null ? printer.id_ : null);
    }

    public void setHorizontalPagination (NSPrintingPaginationMode mode)
    {
        OS.objc_msgSend(this.id_, OS.sel_setHorizontalPagination_1, mode);
    }

    public void setHorizontallyCentered (bool flag)
    {
        OS.objc_msgSend(this.id_, OS.sel_setHorizontallyCentered_1, flag);
    }

    public void setJobDisposition (NSString disposition)
    {
        OS.objc_msgSend(this.id_, OS.sel_setJobDisposition_1, disposition !is null ? disposition.id_ : null);
    }

    public void setLeftMargin (CGFloat margin)
    {
        OS.objc_msgSend(this.id_, OS.sel_setLeftMargin_1, margin);
    }

    public void setOrientation (NSPrintingOrientation orientation)
    {
        OS.objc_msgSend(this.id_, OS.sel_setOrientation_1, orientation);
    }

    public void setPaperName (NSString name)
    {
        OS.objc_msgSend(this.id_, OS.sel_setPaperName_1, name !is null ? name.id_ : null);
    }

    public void setPaperSize (NSSize size)
    {
        OS.objc_msgSend(this.id_, OS.sel_setPaperSize_1, size);
    }

    public void setPrinter (NSPrinter printer)
    {
        OS.objc_msgSend(this.id_, OS.sel_setPrinter_1, printer !is null ? printer.id_ : null);
    }

    public void setRightMargin (CGFloat margin)
    {
        OS.objc_msgSend(this.id_, OS.sel_setRightMargin_1, margin);
    }

    public static void setSharedPrintInfo (NSPrintInfo printInfo)
    {
        OS.objc_msgSend(OS.class_NSPrintInfo, OS.sel_setSharedPrintInfo_1, printInfo !is null ? printInfo.id_ : null);
    }

    public void setTopMargin (CGFloat margin)
    {
        OS.objc_msgSend(this.id_, OS.sel_setTopMargin_1, margin);
    }

    public void setUpPrintOperationDefaultValues ()
    {
        OS.objc_msgSend(this.id_, OS.sel_setUpPrintOperationDefaultValues);
    }

    public void setVerticalPagination (NSPrintingPaginationMode mode)
    {
        OS.objc_msgSend(this.id_, OS.sel_setVerticalPagination_1, mode);
    }

    public void setVerticallyCentered (bool flag)
    {
        OS.objc_msgSend(this.id_, OS.sel_setVerticallyCentered_1, flag);
    }

    public static NSPrintInfo sharedPrintInfo ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSPrintInfo, OS.sel_sharedPrintInfo);
        return result !is null ? new NSPrintInfo(result) : null;
    }

    public static NSSize sizeForPaperName (NSString name)
    {
        NSSize result;
        OS.objc_msgSend_stret(&result, OS.class_NSPrintInfo, OS.sel_sizeForPaperName_1, name !is null ? name.id_ : null);
        return result;
    }

    public CGFloat topMargin ()
    {
        return cast(CGFloat) OS.objc_msgSend_fpret(this.id_, OS.sel_topMargin);
    }

    public void updateFromPMPageFormat ()
    {
        OS.objc_msgSend(this.id_, OS.sel_updateFromPMPageFormat);
    }

    public void updateFromPMPrintSettings ()
    {
        OS.objc_msgSend(this.id_, OS.sel_updateFromPMPrintSettings);
    }

    public NSPrintingPaginationMode verticalPagination ()
    {
        return cast(NSPrintingPaginationMode) OS.objc_msgSend(this.id_, OS.sel_verticalPagination);
    }

}