Mercurial > projects > dstep
view dstep/foundation/NSScriptObjectSpecifiers.d @ 15:7ff919f595d5
Added the Foundation framework, again
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 15:31:48 +0200 |
parents | 89f3c3ef1fd2 |
children | 19885b43130e |
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.NSObject; import dstep.foundation.NSScriptClassDescription; import dstep.foundation.NSScriptWhoseTest; import dstep.foundation.NSString; import dstep.objc.bridge.Bridge; import dstep.objc.objc : id; 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 } class NSIndexSpecifier : NSScriptObjectSpecifier { mixin ObjcWrap; 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerClassDescription:containerSpecifier:key:index:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSInteger)(objcObject, classDesc, container, property, index); if (result) objcObject = ret; dObject = this; } NSInteger index () { return invokeObjcSelf!(NSInteger, "index"); } void setIndex (NSInteger index) { return invokeObjcSelf!(void, "setIndex:", NSInteger)(index); } } class NSRangeSpecifier : NSScriptObjectSpecifier { mixin ObjcWrap; 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSScriptObjectSpecifier, NSScriptObjectSpecifier)(objcObject, classDesc, container, property, startSpec, endSpec); if (result) objcObject = ret; dObject = this; } 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; 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerClassDescription:containerSpecifier:key:uniqueID:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, Object)(objcObject, classDesc, container, property, uniqueID); if (result) objcObject = ret; dObject = this; } Object uniqueID () { return invokeObjcSelf!(Object, "uniqueID"); } void setUniqueID (Object uniqueID) { return invokeObjcSelf!(void, "setUniqueID:", Object)(uniqueID); } } class NSRelativeSpecifier : NSScriptObjectSpecifier { mixin ObjcWrap; 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, uint, NSScriptObjectSpecifier)(objcObject, classDesc, container, property, relPos, baseSpecifier); if (result) objcObject = ret; dObject = this; } 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; 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerClassDescription:containerSpecifier:key:name:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSString)(objcObject, classDesc, container, property, name); if (result) objcObject = ret; dObject = this; } NSString name () { return invokeObjcSelf!(NSString, "name"); } void setName (NSString name) { return invokeObjcSelf!(void, "setName:", NSString)(name); } } class NSPositionalSpecifier : NSObject { mixin ObjcWrap; Object initWithPosition (uint position, NSScriptObjectSpecifier specifier) { return invokeObjcSelf!(Object, "initWithPosition:objectSpecifier:", uint, NSScriptObjectSpecifier)(position, specifier); } this (uint position, NSScriptObjectSpecifier specifier) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithPosition:objectSpecifier:", uint, NSScriptObjectSpecifier)(objcObject, position, specifier); if (result) objcObject = ret; dObject = this; } 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; static NSScriptObjectSpecifier objectSpecifierWithDescriptor (NSAppleEventDescriptor descriptor) { return invokeObjcSelfClass!(NSScriptObjectSpecifier, "objectSpecifierWithDescriptor:", NSAppleEventDescriptor)(descriptor); } Object initWithContainerSpecifier (NSScriptObjectSpecifier container, NSString property) { return invokeObjcSelf!(Object, "initWithContainerSpecifier:key:", NSScriptObjectSpecifier, NSString)(container, property); } this (NSScriptObjectSpecifier container, NSString property) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerSpecifier:key:", NSScriptObjectSpecifier, NSString)(objcObject, container, property); if (result) objcObject = ret; dObject = this; } 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerClassDescription:containerSpecifier:key:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString)(objcObject, classDesc, container, property); if (result) objcObject = ret; dObject = this; } 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithCoder:", NSCoder)(objcObject, aDecoder); if (result) objcObject = ret; dObject = this; } } class NSWhoseSpecifier : NSScriptObjectSpecifier { mixin ObjcWrap; 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) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithContainerClassDescription:containerSpecifier:key:test:", NSScriptClassDescription, NSScriptObjectSpecifier, NSString, NSScriptWhoseTest)(objcObject, classDesc, container, property, test); if (result) objcObject = ret; dObject = this; } 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); } } template TNSScriptObjectSpecifiers () { NSScriptObjectSpecifier objectSpecifier (); NSArray indicesOfObjectsByEvaluatingObjectSpecifier (NSScriptObjectSpecifier specifier); }