Mercurial > projects > dstep
view dstep/foundation/NSScriptObjectSpecifiers.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 | 7ff919f595d5 |
children | b9de51448c6b |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Aug 3, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.foundation.NSScriptObjectSpecifiers; import dstep.foundation.NSAppleEventDescriptor; import dstep.foundation.NSArray; import dstep.foundation.NSCoder; import dstep.foundation.NSObjCRuntime; import dstep.foundation.NSObject; import dstep.foundation.NSScriptClassDescription; import dstep.foundation.NSScriptWhoseTests; import dstep.foundation.NSString; import dstep.objc.bridge.Bridge; import dstep.objc.objc; alias NSUInteger NSInsertionPosition; alias NSUInteger NSRelativePosition; alias NSUInteger NSWhoseSubelementIdentifier; enum { NSNoSpecifierError = 0, NSNoTopLevelContainersSpecifierError, NSContainerSpecifierError, NSUnknownKeySpecifierError, NSInvalidIndexSpecifierError, NSInternalSpecifierError, NSOperationNotSupportedForKeySpecifierError } enum { NSPositionAfter, NSPositionBefore, NSPositionBeginning, NSPositionEnd, NSPositionReplace } enum { NSRelativeAfter = 0, NSRelativeBefore } enum { NSIndexSubelement = 0, NSEverySubelement = 1, NSMiddleSubelement = 2, NSRandomSubelement = 3, NSNoSubelement = 4 } const TNSScriptObjectSpecifiers = ` NSScriptObjectSpecifier objectSpecifier () { return invokeObjcSelf!(NSScriptObjectSpecifier, "objectSpecifier"); } NSArray indicesOfObjectsByEvaluatingObjectSpecifier (NSScriptObjectSpecifier specifier) { return invokeObjcSelf!(NSArray, "indicesOfObjectsByEvaluatingObjectSpecifier:", NSScriptObjectSpecifier)(specifier); } //mixin ObjcBindMethod!(objectSpecifier, "objectSpecifier"); //mixin ObjcBindMethod!(indicesOfObjectsByEvaluatingObjectSpecifier, "indicesOfObjectsByEvaluatingObjectSpecifier:"); `; class NSIndexSpecifier : NSScriptObjectSpecifier { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSInteger index) { return invokeObjcSelf!(Object, "initWithContainerClassDescription:containerSpecifier:key:index:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSInteger)(classDesc, container, property, index); } this (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSInteger index) { typeof(this).alloc.initWithContainerClassDescription(classDesc, container, property, index); } NSInteger index () { return invokeObjcSelf!(NSInteger, "index"); } void setIndex (NSInteger index) { return invokeObjcSelf!(void, "setIndex:", NSInteger)(index); } } class NSRangeSpecifier : NSScriptObjectSpecifier { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSScriptObjectSpecifier startSpec, NSScriptObjectSpecifier endSpec) { return invokeObjcSelf!(Object, "initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSScriptObjectSpecifier, NSScriptObjectSpecifier)(classDesc, container, property, startSpec, endSpec); } this (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSScriptObjectSpecifier startSpec, NSScriptObjectSpecifier endSpec) { typeof(this).alloc.initWithContainerClassDescription(classDesc, container, property, startSpec, endSpec); } NSScriptObjectSpecifier startSpecifier () { return invokeObjcSelf!(NSScriptObjectSpecifier, "startSpecifier"); } void setStartSpecifier (NSScriptObjectSpecifier startSpec) { return invokeObjcSelf!(void, "setStartSpecifier:", NSScriptObjectSpecifier)(startSpec); } NSScriptObjectSpecifier endSpecifier () { return invokeObjcSelf!(NSScriptObjectSpecifier, "endSpecifier"); } void setEndSpecifier (NSScriptObjectSpecifier endSpec) { return invokeObjcSelf!(void, "setEndSpecifier:", NSScriptObjectSpecifier)(endSpec); } } class NSUniqueIDSpecifier : NSScriptObjectSpecifier { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, Object uniqueID) { return invokeObjcSelf!(Object, "initWithContainerClassDescription:containerSpecifier:key:uniqueID:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, Object)(classDesc, container, property, uniqueID); } this (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, Object uniqueID) { typeof(this).alloc.initWithContainerClassDescription(classDesc, container, property, uniqueID); } Object uniqueID () { return invokeObjcSelf!(Object, "uniqueID"); } void setUniqueID (Object uniqueID) { return invokeObjcSelf!(void, "setUniqueID:", Object)(uniqueID); } } class NSRelativeSpecifier : NSScriptObjectSpecifier { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, uint relPos, NSScriptObjectSpecifier baseSpecifier) { return invokeObjcSelf!(Object, "initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, uint, NSScriptObjectSpecifier)(classDesc, container, property, relPos, baseSpecifier); } this (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, uint relPos, NSScriptObjectSpecifier baseSpecifier) { typeof(this).alloc.initWithContainerClassDescription(classDesc, container, property, relPos, baseSpecifier); } uint relativePosition () { return invokeObjcSelf!(uint, "relativePosition"); } void setRelativePosition (uint relPos) { return invokeObjcSelf!(void, "setRelativePosition:", uint)(relPos); } NSScriptObjectSpecifier baseSpecifier () { return invokeObjcSelf!(NSScriptObjectSpecifier, "baseSpecifier"); } void setBaseSpecifier (NSScriptObjectSpecifier baseSpecifier) { return invokeObjcSelf!(void, "setBaseSpecifier:", NSScriptObjectSpecifier)(baseSpecifier); } } class NSNameSpecifier : NSScriptObjectSpecifier { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSString name) { return invokeObjcSelf!(Object, "initWithContainerClassDescription:containerSpecifier:key:name:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSString)(classDesc, container, property, name); } this (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSString name) { typeof(this).alloc.initWithContainerClassDescription(classDesc, container, property, name); } NSString name () { return invokeObjcSelf!(NSString, "name"); } void setName (NSString name) { return invokeObjcSelf!(void, "setName:", NSString)(name); } } class NSPositionalSpecifier : NSObject { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithPosition (uint position, NSScriptObjectSpecifier specifier) { return invokeObjcSelf!(Object, "initWithPosition:objectSpecifier:", uint, NSScriptObjectSpecifier)(position, specifier); } this (uint position, NSScriptObjectSpecifier specifier) { typeof(this).alloc.initWithPosition(position, specifier); } uint position () { return invokeObjcSelf!(uint, "position"); } NSScriptObjectSpecifier objectSpecifier () { return invokeObjcSelf!(NSScriptObjectSpecifier, "objectSpecifier"); } void setInsertionClassDescription (NSScriptClassDescription classDescription) { return invokeObjcSelf!(void, "setInsertionClassDescription:", NSScriptClassDescription)(classDescription); } void evaluate () { return invokeObjcSelf!(void, "evaluate"); } Object insertionContainer () { return invokeObjcSelf!(Object, "insertionContainer"); } NSString insertionKey () { return invokeObjcSelf!(NSString, "insertionKey"); } NSInteger insertionIndex () { return invokeObjcSelf!(NSInteger, "insertionIndex"); } bool insertionReplaces () { return invokeObjcSelf!(bool, "insertionReplaces"); } } class NSScriptObjectSpecifier : NSObject, INSCoding { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } static NSScriptObjectSpecifier objectSpecifierWithDescriptor (NSAppleEventDescriptor descriptor) { return invokeObjcSuperClass!(NSScriptObjectSpecifier, "objectSpecifierWithDescriptor:", NSAppleEventDescriptor)(descriptor); } Object initWithContainerSpecifier (NSScriptObjectSpecifier container, NSString property) { return invokeObjcSelf!(Object, "initWithContainerSpecifier:key:", NSScriptObjectSpecifier, NSString)(container, property); } this (NSScriptObjectSpecifier container, NSString property) { typeof(this).alloc.initWithContainerSpecifier(container, property); } Object initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property) { return invokeObjcSelf!(Object, "initWithContainerClassDescription:containerSpecifier:key:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString)(classDesc, container, property); } this (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property) { typeof(this).alloc.initWithContainerClassDescription(classDesc, container, property); } NSScriptObjectSpecifier childSpecifier () { id result = invokeObjcSelf!(id, "childSpecifier"); return result is this.objcObject ? this : (result !is null ? new NSScriptObjectSpecifier(result) : null); } void setChildSpecifier (NSScriptObjectSpecifier child) { return invokeObjcSelf!(void, "setChildSpecifier:", NSScriptObjectSpecifier)(child); } NSScriptObjectSpecifier containerSpecifier () { id result = invokeObjcSelf!(id, "containerSpecifier"); return result is this.objcObject ? this : (result !is null ? new NSScriptObjectSpecifier(result) : null); } void setContainerSpecifier (NSScriptObjectSpecifier subRef) { return invokeObjcSelf!(void, "setContainerSpecifier:", NSScriptObjectSpecifier)(subRef); } bool containerIsObjectBeingTested () { return invokeObjcSelf!(bool, "containerIsObjectBeingTested"); } void setContainerIsObjectBeingTested (bool flag) { return invokeObjcSelf!(void, "setContainerIsObjectBeingTested:", bool)(flag); } bool containerIsRangeContainerObject () { return invokeObjcSelf!(bool, "containerIsRangeContainerObject"); } void setContainerIsRangeContainerObject (bool flag) { return invokeObjcSelf!(void, "setContainerIsRangeContainerObject:", bool)(flag); } NSString key () { return invokeObjcSelf!(NSString, "key"); } void setKey (NSString key) { return invokeObjcSelf!(void, "setKey:", NSString)(key); } NSScriptClassDescription containerClassDescription () { return invokeObjcSelf!(NSScriptClassDescription, "containerClassDescription"); } void setContainerClassDescription (NSScriptClassDescription classDesc) { return invokeObjcSelf!(void, "setContainerClassDescription:", NSScriptClassDescription)(classDesc); } NSScriptClassDescription keyClassDescription () { return invokeObjcSelf!(NSScriptClassDescription, "keyClassDescription"); } NSInteger* indicesOfObjectsByEvaluatingWithContainer (Object container, NSInteger* count) { return invokeObjcSelf!(NSInteger*, "indicesOfObjectsByEvaluatingWithContainer:count:", Object, NSInteger*)(container, count); } Object objectsByEvaluatingWithContainers (Object containers) { return invokeObjcSelf!(Object, "objectsByEvaluatingWithContainers:", Object)(containers); } Object objectsByEvaluatingSpecifier () { return invokeObjcSelf!(Object, "objectsByEvaluatingSpecifier"); } NSInteger evaluationErrorNumber () { return invokeObjcSelf!(NSInteger, "evaluationErrorNumber"); } void setEvaluationErrorNumber (NSInteger error) { return invokeObjcSelf!(void, "setEvaluationErrorNumber:", NSInteger)(error); } NSScriptObjectSpecifier evaluationErrorSpecifier () { id result = invokeObjcSelf!(id, "evaluationErrorSpecifier"); return result is this.objcObject ? this : (result !is null ? new NSScriptObjectSpecifier(result) : null); } NSAppleEventDescriptor descriptor () { return invokeObjcSelf!(NSAppleEventDescriptor, "descriptor"); } void encodeWithCoder (NSCoder aCoder) { return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); } Object initWithCoder (NSCoder aDecoder) { return invokeObjcSelf!(Object, "initWithCoder:", NSCoder)(aDecoder); } this (NSCoder aDecoder) { typeof(this).alloc.initWithCoder(aDecoder); } } class NSWhoseSpecifier : NSScriptObjectSpecifier { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithContainerClassDescription (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSScriptWhoseTest test) { return invokeObjcSelf!(Object, "initWithContainerClassDescription:containerSpecifier:key:test:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSScriptWhoseTest)(classDesc, container, property, test); } this (NSScriptClassDescription classDesc, NSScriptObjectSpecifier container, NSString property, NSScriptWhoseTest test) { typeof(this).alloc.initWithContainerClassDescription(classDesc, container, property, test); } NSScriptWhoseTest test () { return invokeObjcSelf!(NSScriptWhoseTest, "test"); } void setTest (NSScriptWhoseTest test) { return invokeObjcSelf!(void, "setTest:", NSScriptWhoseTest)(test); } uint startSubelementIdentifier () { return invokeObjcSelf!(uint, "startSubelementIdentifier"); } void setStartSubelementIdentifier (uint subelement) { return invokeObjcSelf!(void, "setStartSubelementIdentifier:", uint)(subelement); } NSInteger startSubelementIndex () { return invokeObjcSelf!(NSInteger, "startSubelementIndex"); } void setStartSubelementIndex (NSInteger index) { return invokeObjcSelf!(void, "setStartSubelementIndex:", NSInteger)(index); } uint endSubelementIdentifier () { return invokeObjcSelf!(uint, "endSubelementIdentifier"); } void setEndSubelementIdentifier (uint subelement) { return invokeObjcSelf!(void, "setEndSubelementIdentifier:", uint)(subelement); } NSInteger endSubelementIndex () { return invokeObjcSelf!(NSInteger, "endSubelementIndex"); } void setEndSubelementIndex (NSInteger index) { return invokeObjcSelf!(void, "setEndSubelementIndex:", NSInteger)(index); } }