view dstep/foundation/NSCharacterSet.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.NSCharacterSet;

import dstep.corefoundation.CFCharacterSet;
import dstep.foundation.NSCoder;
import dstep.foundation.NSData;
import dstep.foundation.NSObject;
import dstep.foundation.NSRange;
import dstep.foundation.NSString;
import dstep.foundation.NSZone;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc;

enum
{
	NSOpenStepUnicodeReservedBase = 0xF400
}

class NSCharacterSet : NSObject, INSCopying, INSMutableCopying, INSCoding
{
	mixin (ObjcWrap);
	
	this ()
	{
		super(typeof(this).alloc.init.objcObject);
	}
	
	typeof(this) init ()
	{
		return invokeObjcSelf!(typeof(this), "init");
	}

	static Object controlCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "controlCharacterSet");
	}

	static Object whitespaceCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "whitespaceCharacterSet");
	}

	static Object whitespaceAndNewlineCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "whitespaceAndNewlineCharacterSet");
	}

	static Object decimalDigitCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "decimalDigitCharacterSet");
	}

	static Object letterCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "letterCharacterSet");
	}

	static Object lowercaseLetterCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "lowercaseLetterCharacterSet");
	}

	static Object uppercaseLetterCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "uppercaseLetterCharacterSet");
	}

	static Object nonBaseCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "nonBaseCharacterSet");
	}

	static Object alphanumericCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "alphanumericCharacterSet");
	}

	static Object decomposableCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "decomposableCharacterSet");
	}

	static Object illegalCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "illegalCharacterSet");
	}

	static Object punctuationCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "punctuationCharacterSet");
	}

	static Object capitalizedLetterCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "capitalizedLetterCharacterSet");
	}

	static Object symbolCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "symbolCharacterSet");
	}

	static Object newlineCharacterSet ()
	{
		return invokeObjcSuperClass!(Object, "newlineCharacterSet");
	}

	static Object characterSetWithRange (NSRange aRange)
	{
		return invokeObjcSuperClass!(Object, "characterSetWithRange:", NSRange)(aRange);
	}

	static Object characterSetWithCharactersInString (NSString aString)
	{
		return invokeObjcSuperClass!(Object, "characterSetWithCharactersInString:", NSString)(aString);
	}

	static Object characterSetWithBitmapRepresentation (NSData data)
	{
		return invokeObjcSuperClass!(Object, "characterSetWithBitmapRepresentation:", NSData)(data);
	}

	static Object characterSetWithContentsOfFile (NSString fName)
	{
		return invokeObjcSuperClass!(Object, "characterSetWithContentsOfFile:", NSString)(fName);
	}

	bool characterIsMember (ushort aCharacter)
	{
		return invokeObjcSelf!(bool, "characterIsMember:", ushort)(aCharacter);
	}

	NSData bitmapRepresentation ()
	{
		return invokeObjcSelf!(NSData, "bitmapRepresentation");
	}

	NSCharacterSet invertedSet ()
	{
		id result = invokeObjcSelf!(id, "invertedSet");
		return result is this.objcObject ? this : (result !is null ? new NSCharacterSet(result) : null);
	}

	bool longCharacterIsMember (uint theLongChar)
	{
		return invokeObjcSelf!(bool, "longCharacterIsMember:", uint)(theLongChar);
	}

	bool isSupersetOfSet (NSCharacterSet theOtherSet)
	{
		return invokeObjcSelf!(bool, "isSupersetOfSet:", NSCharacterSet)(theOtherSet);
	}

	bool hasMemberInPlane (ubyte thePlane)
	{
		return invokeObjcSelf!(bool, "hasMemberInPlane:", ubyte)(thePlane);
	}

	Object copyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "copyWithZone:", NSZone*)(zone);
	}

	Object mutableCopyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "mutableCopyWithZone:", NSZone*)(zone);
	}

	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 NSMutableCharacterSet : NSCharacterSet, INSCopying, INSMutableCopying
{
	mixin (ObjcWrap);
	
	this ()
	{
		super(typeof(this).alloc.init.objcObject);
	}
	
	typeof(this) init ()
	{
		return invokeObjcSelf!(typeof(this), "init");
	}

	void addCharactersInRange (NSRange aRange)
	{
		return invokeObjcSelf!(void, "addCharactersInRange:", NSRange)(aRange);
	}

	void removeCharactersInRange (NSRange aRange)
	{
		return invokeObjcSelf!(void, "removeCharactersInRange:", NSRange)(aRange);
	}

	void addCharactersInString (NSString aString)
	{
		return invokeObjcSelf!(void, "addCharactersInString:", NSString)(aString);
	}

	void removeCharactersInString (NSString aString)
	{
		return invokeObjcSelf!(void, "removeCharactersInString:", NSString)(aString);
	}

	void formUnionWithCharacterSet (NSCharacterSet otherSet)
	{
		return invokeObjcSelf!(void, "formUnionWithCharacterSet:", NSCharacterSet)(otherSet);
	}

	void formIntersectionWithCharacterSet (NSCharacterSet otherSet)
	{
		return invokeObjcSelf!(void, "formIntersectionWithCharacterSet:", NSCharacterSet)(otherSet);
	}

	void invert ()
	{
		return invokeObjcSelf!(void, "invert");
	}

	Object copyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "copyWithZone:", NSZone*)(zone);
	}

	Object mutableCopyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(Object, "mutableCopyWithZone:", NSZone*)(zone);
	}
}