view dwt/internal/cocoa/NSDocumentController.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.NSDocumentController;

import dwt.internal.cocoa.id;
import dwt.internal.cocoa.NSArray;
import dwt.internal.cocoa.NSDocument;
import dwt.internal.cocoa.NSError;
import dwt.internal.cocoa.NSInteger;
import dwt.internal.cocoa.NSObject;
import dwt.internal.cocoa.NSOpenPanel;
import dwt.internal.cocoa.NSString;
import dwt.internal.cocoa.NSURL;
import dwt.internal.cocoa.NSWindow;
import dwt.internal.cocoa.OS;
import objc = dwt.internal.objc.runtime;

public class NSDocumentController : NSObject
{

    public this ()
    {
        super();
    }

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

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

    public void addDocument (NSDocument document)
    {
        OS.objc_msgSend(this.id_, OS.sel_addDocument_1, document !is null ? document.id_ : null);
    }

    public double autosavingDelay ()
    {
        return OS.objc_msgSend_fpret(this.id_, OS.sel_autosavingDelay);
    }

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

    public void closeAllDocumentsWithDelegate (id delegatee, objc.id didCloseAllSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_closeAllDocumentsWithDelegate_1didCloseAllSelector_1contextInfo_1, delegatee !is null ? delegatee.id_ : null,
                didCloseAllSelector, contextInfo);
    }

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

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

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

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

    public objc.Class documentClassForType (NSString typeName)
    {
        return cast(objc.Class) OS.objc_msgSend(this.id_, OS.sel_documentClassForType_1, typeName !is null ? typeName.id_ : null);
    }

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

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

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

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

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

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

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

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

    public id makeDocumentForURL (NSURL absoluteDocumentURL, NSURL absoluteDocumentContentsURL, NSString typeName, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_makeDocumentForURL_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 ? new id(result) : null;
    }

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

    public id makeDocumentWithContentsOfURL_ofType_ (NSURL url, NSString type)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_makeDocumentWithContentsOfURL_1ofType_1, url !is null ? url.id_ : null,
                type !is null ? type.id_ : null);
        return result !is null ? new id(result) : null;
    }

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

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

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

    public NSUInteger maximumRecentDocumentCount ()
    {
        return cast(NSUInteger) OS.objc_msgSend(this.id_, OS.sel_maximumRecentDocumentCount);
    }

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

    public void noteNewRecentDocument (NSDocument document)
    {
        OS.objc_msgSend(this.id_, OS.sel_noteNewRecentDocument_1, document !is null ? document.id_ : null);
    }

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

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

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

    public id openDocumentWithContentsOfURL_display_ (NSURL url, bool display)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_openDocumentWithContentsOfURL_1display_1, url !is null ? url.id_ : null, display);
        return result !is null ? new id(result) : null;
    }

    public id openDocumentWithContentsOfURL_display_error_ (NSURL absoluteURL, bool displayDocument, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_openDocumentWithContentsOfURL_1display_1error_1,
                absoluteURL !is null ? absoluteURL.id_ : null, displayDocument, outError);
        return result !is null ? new id(result) : null;
    }

    public id openUntitledDocumentAndDisplay (bool displayDocument, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_openUntitledDocumentAndDisplay_1error_1, displayDocument, outError);
        return result !is null ? new id(result) : null;
    }

    public id openUntitledDocumentOfType (NSString type, bool display)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_openUntitledDocumentOfType_1display_1, type !is null ? type.id_ : null, display);
        return result !is null ? new id(result) : 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_delegate_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 NSArray recentDocumentURLs ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_recentDocumentURLs);
        return result !is null ? new NSArray(result) : null;
    }

    public void removeDocument (NSDocument document)
    {
        OS.objc_msgSend(this.id_, OS.sel_removeDocument_1, document !is null ? document.id_ : null);
    }

    public bool reopenDocumentForURL (NSURL absoluteDocumentURL, NSURL absoluteDocumentContentsURL, objc.id** outError)
    {
        return OS.objc_msgSend(this.id_, OS.sel_reopenDocumentForURL_1withContentsOfURL_1error_1,
                absoluteDocumentURL !is null ? absoluteDocumentURL.id_ : null,
                absoluteDocumentContentsURL !is null ? absoluteDocumentContentsURL.id_ : null, outError) !is null;
    }

    public void reviewUnsavedDocumentsWithAlertTitle (NSString title, bool cancellable, id delegatee, objc.SEL didReviewAllSelector, void* contextInfo)
    {
        OS.objc_msgSend(this.id_, OS.sel_reviewUnsavedDocumentsWithAlertTitle_1cancellable_1delegate_1didReviewAllSelector_1contextInfo_1,
                title !is null ? title.id_ : null, cancellable, delegatee !is null ? delegatee.id_ : null, didReviewAllSelector, contextInfo);
    }

    public NSInteger runModalOpenPanel (NSOpenPanel openPanel, NSArray types)
    {
        return cast(NSInteger) OS.objc_msgSend(this.id_, OS.sel_runModalOpenPanel_1forTypes_1, openPanel !is null ? openPanel.id_ : null,
                types !is null ? types.id_ : null);
    }

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

    public void setAutosavingDelay (double autosavingDelay)
    {
        OS.objc_msgSend(this.id_, OS.sel_setAutosavingDelay_1, autosavingDelay);
    }

    public void setShouldCreateUI (bool flag)
    {
        OS.objc_msgSend(this.id_, OS.sel_setShouldCreateUI_1, flag);
    }

    public static id sharedDocumentController ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSDocumentController, OS.sel_sharedDocumentController);
        return result !is null ? new id(result) : null;
    }

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

    public NSString typeForContentsOfURL (NSURL inAbsoluteURL, objc.id** outError)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_typeForContentsOfURL_1error_1, inAbsoluteURL !is null ? inAbsoluteURL.id_ : null, outError);
        return result !is null ? new NSString(result) : null;
    }

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

    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;
    }

}