view dwt/internal/cocoa/NSDocument.d @ 1:8b48be5454ce

The internal cocoa classes compile now
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Tue, 19 Aug 2008 17:35:17 +0200
parents 380af2bdd8e5
children f565d3a95c0a
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.NSDocument;

import dwt.internal.cocoa.id;
import dwt.internal.cocoa.NSArray;
import dwt.internal.cocoa.NSCloseCommand;
import dwt.internal.cocoa.NSData;
import dwt.internal.cocoa.NSDate;
import dwt.internal.cocoa.NSDictionary;
import dwt.internal.cocoa.NSError;
import dwt.internal.cocoa.NSFileWrapper;
import dwt.internal.cocoa.NSInteger;
import dwt.internal.cocoa.NSObject;
import dwt.internal.cocoa.NSPageLayout;
import dwt.internal.cocoa.NSPrintInfo;
import dwt.internal.cocoa.NSPrintOperation;
import dwt.internal.cocoa.NSSavePanel;
import dwt.internal.cocoa.NSScriptCommand;
import dwt.internal.cocoa.NSScriptObjectSpecifier;
import dwt.internal.cocoa.NSString;
import dwt.internal.cocoa.NSUndoManager;
import dwt.internal.cocoa.NSURL;
import dwt.internal.cocoa.NSWindow;
import dwt.internal.cocoa.NSWindowController;
import dwt.internal.cocoa.OS;
import objc = dwt.internal.objc.runtime;

enum NSSaveOperationType
{
    NSSaveOperation = 0,
    NSSaveAsOperation = 1,
    NSSaveToOperation = 2,
    NSAutosaveOperation = 3
}

alias NSSaveOperationType.NSSaveOperation NSSaveOperation;
alias NSSaveOperationType.NSSaveAsOperation NSSaveAsOperation;
alias NSSaveOperationType.NSSaveToOperation NSSaveToOperation;
alias NSSaveOperationType.NSAutosaveOperation NSAutosaveOperation;;

public class NSDocument : NSObject
{

    public this ()
    {
        super();
    }

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

    public void addWindowController (NSWindowController windowController)
    {
        OS.objc_msgSend(this.id_, OS.sel_addWindowController_1, windowController !is null ? windowController.id_ : null);
    }

    public void autosaveDocumentWithDelegate (id delegatee, objc.SEL didAutosaveSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_autosaveDocumentWithDelegate_1didAutosaveSelector_1contextInfo_1, delegatee !is null ? delegatee.id_ : null,
                didAutosaveSelector, contextInfo);
    }

    public NSURL autosavedContentsFileURL ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_autosavedContentsFileURL);
        return result !is null ? new NSURL(result) : null;
    }

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

    public void canCloseDocumentWithDelegate (id delegatee, objc.SEL shouldCloseSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_canCloseDocumentWithDelegate_1shouldCloseSelector_1contextInfo_1, delegatee !is null ? delegatee.id_ : null,
                shouldCloseSelector, contextInfo);
    }

    public void close ()
    {
        OS.objc_msgSend(this.id_, OS.sel_close);
    }

    public NSData dataOfType (NSString typeName, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_dataOfType_1error_1, typeName !is null ? typeName.id_ : null, outError);
        return result !is null ? new NSData(result) : null;
    }

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

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

    public NSDictionary fileAttributesToWriteToFile (NSString fullDocumentPath, NSString documentTypeName, objc.id saveOperationType)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_fileAttributesToWriteToFile_1ofType_1saveOperation_1,
                fullDocumentPath !is null ? fullDocumentPath.id_ : null, documentTypeName !is null ? documentTypeName.id_ : null, saveOperationType);
        return result !is null ? new NSDictionary(result) : null;
    }

    public NSDictionary fileAttributesToWriteToURL (NSURL absoluteURL, NSString typeName, objc.id saveOperation, NSURL absoluteOriginalContentsURL,
            objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_fileAttributesToWriteToURL_1ofType_1forSaveOperation_1originalContentsURL_1error_1,
                absoluteURL !is null ? absoluteURL.id_ : null, typeName !is null ? typeName.id_ : null, saveOperation,
                absoluteOriginalContentsURL !is null ? absoluteOriginalContentsURL.id_ : null, outError);
        return result !is null ? new NSDictionary(result) : null;
    }

    public NSDate fileModificationDate ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_fileModificationDate);
        return result !is null ? new NSDate(result) : null;
    }

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

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

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

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

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

    public NSURL fileURL ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_fileURL);
        return result !is null ? new NSURL(result) : null;
    }

    public NSFileWrapper fileWrapperOfType (NSString typeName, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_fileWrapperOfType_1error_1, typeName !is null ? typeName.id_ : null, outError);
        return result !is null ? new NSFileWrapper(result) : null;
    }

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

    public id handleCloseScriptCommand (NSCloseCommand command)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_handleCloseScriptCommand_1, command !is null ? command.id_ : null);
        return result !is null ? new id(result) : null;
    }

    public id handlePrintScriptCommand (NSScriptCommand command)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_handlePrintScriptCommand_1, command !is null ? command.id_ : null);
        return result !is null ? new id(result) : null;
    }

    public id handleSaveScriptCommand (NSScriptCommand command)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_handleSaveScriptCommand_1, command !is null ? command.id_ : null);
        return result !is null ? new id(result) : null;
    }

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

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

    public NSDocument initForURL (NSURL absoluteDocumentURL, NSURL absoluteDocumentContentsURL, NSString typeName, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initForURL_1withContentsOfURL_1ofType_1error_1,
                absoluteDocumentURL !is null ? absoluteDocumentURL.id_ : null,
                absoluteDocumentContentsURL !is null ? absoluteDocumentContentsURL.id_ : null, typeName !is null ? typeName.id_ : null, outError);
        return result !is null ? this : null;
    }

    public NSDocument initWithContentsOfFile (NSString absolutePath, NSString typeName)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithContentsOfFile_1ofType_1, absolutePath !is null ? absolutePath.id_ : null,
                typeName !is null ? typeName.id_ : null);
        return result !is null ? this : null;
    }

    public NSDocument initWithContentsOfURL_ofType_ (NSURL absoluteURL, NSString typeName)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithContentsOfURL_1ofType_1, absoluteURL !is null ? absoluteURL.id_ : null,
                typeName !is null ? typeName.id_ : null);
        return result !is null ? this : null;
    }

    public NSDocument initWithContentsOfURL_ofType_error_ (NSURL absoluteURL, NSString typeName, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithContentsOfURL_1ofType_1error_1, absoluteURL !is null ? absoluteURL.id_ : null,
                typeName !is null ? typeName.id_ : null, outError);
        return result !is null ? this : null;
    }

    public NSDocument initWithType (NSString typeName, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithType_1error_1, typeName !is null ? typeName.id_ : null, outError);
        return result !is null ? this : null;
    }

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

    public static bool isNativeType (NSString type)
    {
        return OS.objc_msgSend(OS.class_NSDocument, OS.sel_isNativeType_1, type !is null ? type.id_ : null) !is null;
    }

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

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

    public bool loadDataRepresentation (NSData data, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_loadDataRepresentation_1ofType_1, data !is null ? data.id_ : null, type !is null ? type.id_ : null) !is null;
    }

    public bool loadFileWrapperRepresentation (NSFileWrapper wrapper, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_loadFileWrapperRepresentation_1ofType_1, wrapper !is null ? wrapper.id_ : null,
                type !is null ? type.id_ : null) !is null;
    }

    public void makeWindowControllers ()
    {
        OS.objc_msgSend(this.id_, OS.sel_makeWindowControllers);
    }

    public NSScriptObjectSpecifier objectSpecifier ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_objectSpecifier);
        return result !is null ? new NSScriptObjectSpecifier(result) : null;
    }

    public bool preparePageLayout (NSPageLayout pageLayout)
    {
        return OS.objc_msgSend(this.id_, OS.sel_preparePageLayout_1, pageLayout !is null ? pageLayout.id_ : null) !is null;
    }

    public bool prepareSavePanel (NSSavePanel savePanel)
    {
        return OS.objc_msgSend(this.id_, OS.sel_prepareSavePanel_1, savePanel !is null ? savePanel.id_ : null) !is null;
    }

    public bool presentError_ (NSError error)
    {
        return OS.objc_msgSend(this.id_, OS.sel_presentError_1, error !is null ? error.id_ : null) !is null;
    }

    public void presentError_modalForWindow_delegatee_didPresentSelector_contextInfo_ (NSError error, NSWindow window, id delegatee,
            objc.SEL didPresentSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_presentError_1modalForWindow_1delegate_1didPresentSelector_1contextInfo_1, error !is null ? error.id_ : null,
                window !is null ? window.id_ : null, delegatee !is null ? delegatee.id_ : null, didPresentSelector, contextInfo);
    }

    public void printDocument (id sender)
    {
        OS.objc_msgSend(this.id_, OS.sel_printDocument_1, sender !is null ? sender.id_ : null);
    }

    public void printDocumentWithSettings (NSDictionary printSettings, bool showPrintPanel, id delegatee, objc.SEL didPrintSelector,
            void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_printDocumentWithSettings_1showPrintPanel_1delegate_1didPrintSelector_1contextInfo_1,
                printSettings !is null ? printSettings.id_ : null, showPrintPanel, delegatee !is null ? delegatee.id_ : null, didPrintSelector,
                contextInfo);
    }

    public NSPrintInfo printInfo ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_printInfo);
        return result !is null ? new NSPrintInfo(result) : null;
    }

    public NSPrintOperation printOperationWithSettings (NSDictionary printSettings, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_printOperationWithSettings_1error_1, printSettings !is null ? printSettings.id_ : null,
                outError);
        return result !is null ? new NSPrintOperation(result) : null;
    }

    public void printShowingPrintPanel (bool flag)
    {
        OS.objc_msgSend(this.id_, OS.sel_printShowingPrintPanel_1, flag);
    }

    public bool readFromData (NSData data, NSString typeName, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_readFromData_1ofType_1error_1, data !is null ? data.id_ : null, typeName !is null ? typeName.id_ : null,
                outError) !is null;
    }

    public bool readFromFile (NSString fileName, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_readFromFile_1ofType_1, fileName !is null ? fileName.id_ : null, type !is null ? type.id_ : null) !is null;
    }

    public bool readFromFileWrapper (NSFileWrapper fileWrapper, NSString typeName, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_readFromFileWrapper_1ofType_1error_1, fileWrapper !is null ? fileWrapper.id_ : null,
                typeName !is null ? typeName.id_ : null, outError) !is null;
    }

    public bool readFromURL_ofType_ (NSURL url, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_readFromURL_1ofType_1, url !is null ? url.id_ : null, type !is null ? type.id_ : null) !is null;
    }

    public bool readFromURL_ofType_error_ (NSURL absoluteURL, NSString typeName, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_readFromURL_1ofType_1error_1, absoluteURL !is null ? absoluteURL.id_ : null,
                typeName !is null ? typeName.id_ : null, outError) !is null;
    }

    public static NSArray readableTypes ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSDocument, OS.sel_readableTypes);
        return result !is null ? new NSArray(result) : null;
    }

    public void removeWindowController (NSWindowController windowController)
    {
        OS.objc_msgSend(this.id_, OS.sel_removeWindowController_1, windowController !is null ? windowController.id_ : null);
    }

    public void revertDocumentToSaved (id sender)
    {
        OS.objc_msgSend(this.id_, OS.sel_revertDocumentToSaved_1, sender !is null ? sender.id_ : null);
    }

    public bool revertToContentsOfURL (NSURL absoluteURL, NSString typeName, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_revertToContentsOfURL_1ofType_1error_1, absoluteURL !is null ? absoluteURL.id_ : null,
                typeName !is null ? typeName.id_ : null, outError) !is null;
    }

    public bool revertToSavedFromFile (NSString fileName, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_revertToSavedFromFile_1ofType_1, fileName !is null ? fileName.id_ : null,
                type !is null ? type.id_ : null) !is null;
    }

    public bool revertToSavedFromURL (NSURL url, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_revertToSavedFromURL_1ofType_1, url !is null ? url.id_ : null, type !is null ? type.id_ : null) !is null;
    }

    public NSInteger runModalPageLayoutWithPrintInfo_ (NSPrintInfo printInfo)
    {
        return cast(NSInteger) OS.objc_msgSend(this.id_, OS.sel_runModalPageLayoutWithPrintInfo_1, printInfo !is null ? printInfo.id_ : null);
    }

    public void runModalPageLayoutWithPrintInfo_delegatee_didRunSelector_contextInfo_ (NSPrintInfo printInfo, id delegatee, objc.SEL didRunSelector,
            void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_runModalPageLayoutWithPrintInfo_1delegate_1didRunSelector_1contextInfo_1,
                printInfo !is null ? printInfo.id_ : null, delegatee !is null ? delegatee.id_ : null, didRunSelector, contextInfo);
    }

    public void runModalPrintOperation (NSPrintOperation printOperation, id delegatee, objc.SEL didRunSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_runModalPrintOperation_1delegate_1didRunSelector_1contextInfo_1,
                printOperation !is null ? printOperation.id_ : null, delegatee !is null ? delegatee.id_ : null, didRunSelector, contextInfo);
    }

    public void runModalSavePanelForSaveOperation (objc.id saveOperation, id delegatee, objc.SEL didSaveSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_runModalSavePanelForSaveOperation_1delegate_1didSaveSelector_1contextInfo_1, saveOperation,
                delegatee !is null ? delegatee.id_ : null, didSaveSelector, contextInfo);
    }

    public void runPageLayout (id sender)
    {
        OS.objc_msgSend(this.id_, OS.sel_runPageLayout_1, sender !is null ? sender.id_ : null);
    }

    public void saveDocument (id sender)
    {
        OS.objc_msgSend(this.id_, OS.sel_saveDocument_1, sender !is null ? sender.id_ : null);
    }

    public void saveDocumentAs (id sender)
    {
        OS.objc_msgSend(this.id_, OS.sel_saveDocumentAs_1, sender !is null ? sender.id_ : null);
    }

    public void saveDocumentTo (id sender)
    {
        OS.objc_msgSend(this.id_, OS.sel_saveDocumentTo_1, sender !is null ? sender.id_ : null);
    }

    public void saveDocumentWithDelegate (id delegatee, objc.SEL didSaveSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_saveDocumentWithDelegate_1didSaveSelector_1contextInfo_1, delegatee !is null ? delegatee.id_ : null,
                didSaveSelector, contextInfo);
    }

    public void saveToFile (NSString fileName, objc.id saveOperation, id delegatee, objc.SEL didSaveSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_saveToFile_1saveOperation_1delegate_1didSaveSelector_1contextInfo_1, fileName !is null ? fileName.id_ : null,
                saveOperation, delegatee !is null ? delegatee.id_ : null, didSaveSelector, contextInfo);
    }

    public void saveToURL_ofType_forSaveOperation_delegatee_didSaveSelector_contextInfo_ (NSURL absoluteURL, NSString typeName,
            objc.id saveOperation, id delegatee, objc.SEL didSaveSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_saveToURL_1ofType_1forSaveOperation_1delegate_1didSaveSelector_1contextInfo_1,
                absoluteURL !is null ? absoluteURL.id_ : null, typeName !is null ? typeName.id_ : null, saveOperation,
                delegatee !is null ? delegatee.id_ : null, didSaveSelector, contextInfo);
    }

    public bool saveToURL_ofType_forSaveOperation_error_ (NSURL absoluteURL, NSString typeName, objc.id saveOperation, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_saveToURL_1ofType_1forSaveOperation_1error_1, absoluteURL !is null ? absoluteURL.id_ : null,
                typeName !is null ? typeName.id_ : null, saveOperation, outError) !is null;
    }

    public void setAutosavedContentsFileURL (NSURL absoluteURL)
    {
        OS.objc_msgSend(this.id_, OS.sel_setAutosavedContentsFileURL_1, absoluteURL !is null ? absoluteURL.id_ : null);
    }

    public void setFileModificationDate (NSDate modificationDate)
    {
        OS.objc_msgSend(this.id_, OS.sel_setFileModificationDate_1, modificationDate !is null ? modificationDate.id_ : null);
    }

    public void setFileName (NSString fileName)
    {
        OS.objc_msgSend(this.id_, OS.sel_setFileName_1, fileName !is null ? fileName.id_ : null);
    }

    public void setFileType (NSString typeName)
    {
        OS.objc_msgSend(this.id_, OS.sel_setFileType_1, typeName !is null ? typeName.id_ : null);
    }

    public void setFileURL (NSURL absoluteURL)
    {
        OS.objc_msgSend(this.id_, OS.sel_setFileURL_1, absoluteURL !is null ? absoluteURL.id_ : null);
    }

    public void setHasUndoManager (bool hasUndoManager)
    {
        OS.objc_msgSend(this.id_, OS.sel_setHasUndoManager_1, hasUndoManager);
    }

    public void setLastComponentOfFileName (NSString str)
    {
        OS.objc_msgSend(this.id_, OS.sel_setLastComponentOfFileName_1, str !is null ? str.id_ : null);
    }

    public void setPrintInfo (NSPrintInfo printInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_setPrintInfo_1, printInfo !is null ? printInfo.id_ : null);
    }

    public void setUndoManager (NSUndoManager undoManager)
    {
        OS.objc_msgSend(this.id_, OS.sel_setUndoManager_1, undoManager !is null ? undoManager.id_ : null);
    }

    public void setWindow (NSWindow window)
    {
        OS.objc_msgSend(this.id_, OS.sel_setWindow_1, window !is null ? window.id_ : null);
    }

    public bool shouldChangePrintInfo (NSPrintInfo newPrintInfo)
    {
        return OS.objc_msgSend(this.id_, OS.sel_shouldChangePrintInfo_1, newPrintInfo !is null ? newPrintInfo.id_ : null) !is null;
    }

    public void shouldCloseWindowController (NSWindowController windowController, id delegatee, objc.SEL shouldCloseSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_shouldCloseWindowController_1delegate_1shouldCloseSelector_1contextInfo_1,
                windowController !is null ? windowController.id_ : null, delegatee !is null ? delegatee.id_ : null, shouldCloseSelector, contextInfo);
    }

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

    public void showWindows ()
    {
        OS.objc_msgSend(this.id_, OS.sel_showWindows);
    }

    public NSUndoManager undoManager ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_undoManager);
        return result !is null ? new NSUndoManager(result) : null;
    }

    public void updateChangeCount (objc.id change)
    {
        OS.objc_msgSend(this.id_, OS.sel_updateChangeCount_1, change);
    }

    public bool validateUserInterfaceItem (id anItem)
    {
        return OS.objc_msgSend(this.id_, OS.sel_validateUserInterfaceItem_1, anItem !is null ? anItem.id_ : null) !is null;
    }

    public NSError willPresentError (NSError error)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_willPresentError_1, error !is null ? error.id_ : null);
        return result !is null ? new NSError(result) : null;
    }

    public void windowControllerDidLoadNib (NSWindowController windowController)
    {
        OS.objc_msgSend(this.id_, OS.sel_windowControllerDidLoadNib_1, windowController !is null ? windowController.id_ : null);
    }

    public void windowControllerWillLoadNib (NSWindowController windowController)
    {
        OS.objc_msgSend(this.id_, OS.sel_windowControllerWillLoadNib_1, windowController !is null ? windowController.id_ : null);
    }

    public NSArray windowControllers ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_windowControllers);
        return result !is null ? new NSArray(result) : null;
    }

    public NSWindow windowForSheet ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_windowForSheet);
        return result !is null ? new NSWindow(result) : null;
    }

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

    public static NSArray writableTypes ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSDocument, OS.sel_writableTypes);
        return result !is null ? new NSArray(result) : null;
    }

    public NSArray writableTypesForSaveOperation (objc.id saveOperation)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_writableTypesForSaveOperation_1, saveOperation);
        return result !is null ? new NSArray(result) : null;
    }

    public bool writeSafelyToURL (NSURL absoluteURL, NSString typeName, objc.id saveOperation, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_writeSafelyToURL_1ofType_1forSaveOperation_1error_1, absoluteURL !is null ? absoluteURL.id_ : null,
                typeName !is null ? typeName.id_ : null, saveOperation, outError) !is null;
    }

    public bool writeToFile_ofType_ (NSString fileName, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_writeToFile_1ofType_1, fileName !is null ? fileName.id_ : null, type !is null ? type.id_ : null) !is null;
    }

    public bool writeToFile_ofType_originalFile_saveOperation_ (NSString fullDocumentPath, NSString documentTypeName,
            NSString fullOriginalDocumentPath, objc.id saveOperationType)
    {
        return OS.objc_msgSend(this.id_, OS.sel_writeToFile_1ofType_1originalFile_1saveOperation_1,
                fullDocumentPath !is null ? fullDocumentPath.id_ : null, documentTypeName !is null ? documentTypeName.id_ : null,
                fullOriginalDocumentPath !is null ? fullOriginalDocumentPath.id_ : null, saveOperationType) !is null;
    }

    public bool writeToURL_ofType_ (NSURL url, NSString type)
    {
        return OS.objc_msgSend(this.id_, OS.sel_writeToURL_1ofType_1, url !is null ? url.id_ : null, type !is null ? type.id_ : null) !is null;
    }

    public bool writeToURL_ofType_error_ (NSURL absoluteURL, NSString typeName, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_writeToURL_1ofType_1error_1, absoluteURL !is null ? absoluteURL.id_ : null,
                typeName !is null ? typeName.id_ : null, outError) !is null;
    }

    public bool writeToURL_ofType_forSaveOperation_originalContentsURL_error_ (NSURL absoluteURL, NSString typeName, objc.id saveOperation,
            NSURL absoluteOriginalContentsURL, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_writeToURL_1ofType_1forSaveOperation_1originalContentsURL_1error_1,
                absoluteURL !is null ? absoluteURL.id_ : null, typeName !is null ? typeName.id_ : null, saveOperation,
                absoluteOriginalContentsURL !is null ? absoluteOriginalContentsURL.id_ : null, outError) !is null;
    }

    public bool writeWithBackupToFile (NSString fullDocumentPath, NSString documentTypeName, objc.id saveOperationType)
    {
        return OS.objc_msgSend(this.id_, OS.sel_writeWithBackupToFile_1ofType_1saveOperation_1,
                fullDocumentPath !is null ? fullDocumentPath.id_ : null, documentTypeName !is null ? documentTypeName.id_ : null, saveOperationType) !is null;
    }

}