view dwt/internal/cocoa/NSRelativeSpecifier.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
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.NSRelativeSpecifier;

import dwt.internal.cocoa.id;
import dwt.internal.cocoa.NSScriptClassDescription;
import dwt.internal.cocoa.NSScriptObjectSpecifier;
import dwt.internal.cocoa.NSString;
import dwt.internal.cocoa.OS;
import objc = dwt.internal.objc.runtime;

enum NSRelativePosition
{
    NSRelativeAfter = 0,
    NSRelativeBefore
}

alias NSRelativePosition.NSRelativeAfter NSRelativeAfter;
alias NSRelativePosition.NSRelativeBefore NSRelativeBefore;

public class NSRelativeSpecifier : NSScriptObjectSpecifier
{

    public this ()
    {
        super();
    }

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

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

    public id initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property,
            NSRelativePosition relPos, NSScriptObjectSpecifier baseSpecifier)
    {
        objc.id result = OS.objc_msgSend(this.id,
                OS.sel_initWithContainerClassDescription_1containerSpecifier_1key_1relativePosition_1baseSpecifier_1,
                classDesc !is null ? classDesc.id : null, container !is null ? container.id : null, property !is null ? property.id : null, relPos,
                baseSpecifier !is null ? baseSpecifier.id : null);
        return result !is null ? new id(result) : null;
    }

    public NSRelativePosition relativePosition ()
    {
        return cast(NSRelativePosition) OS.objc_msgSend(this.id, OS.sel_relativePosition);
    }

    public void setBaseSpecifier (NSScriptObjectSpecifier baseSpecifier)
    {
        OS.objc_msgSend(this.id, OS.sel_setBaseSpecifier_1, baseSpecifier !is null ? baseSpecifier.id : null);
    }

    public void setRelativePosition (NSRelativePosition relPos)
    {
        OS.objc_msgSend(this.id, OS.sel_setRelativePosition_1, relPos);
    }

}