From fd1fb807d087ef6f8ecb073180a5fb9868abe08f Mon Sep 17 00:00:00 2001 From: Gregory John Casamento Date: Wed, 23 Oct 2019 16:03:52 -0400 Subject: [PATCH] Initial skeleton for NSLengthFormatter. --- Headers/Foundation/NSLengthFormatter.h | 41 +++++++++++++++++++++-- Source/NSLengthFormatter.m | 45 ++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 3 deletions(-) diff --git a/Headers/Foundation/NSLengthFormatter.h b/Headers/Foundation/NSLengthFormatter.h index 417eb659d..68d91c7e7 100644 --- a/Headers/Foundation/NSLengthFormatter.h +++ b/Headers/Foundation/NSLengthFormatter.h @@ -1,8 +1,7 @@ - /* Definition of class NSLengthFormatter Copyright (C) 2019 Free Software Foundation, Inc. - By: heron + By: Gregory John Casamento Date: Tue Oct 8 13:30:33 EDT 2019 This file is part of the GNUstep Library. @@ -32,9 +31,45 @@ extern "C" { #endif -#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST) +#if OS_API_VERSION(MAC_OS_X_VERSION_10_10, GS_API_LATEST) +enum { + NSLengthFormatterUnitMillimeter = 8, + NSLengthFormatterUnitCentimeter = 9, + NSLengthFormatterUnitMeter = 11, + NSLengthFormatterUnitKilometer = 14, + NSLengthFormatterUnitInch = (5 << 8) + 1, + NSLengthFormatterUnitFoot = (5 << 8) + 2, + NSLengthFormatterUnitYard = (5 << 8) + 3, + NSLengthFormatterUnitMile = (5 << 8) + 4, +}; +typedef NSInteger NSLengthFormatterUnit; +@class NSNumberFormatter, NSString; + @interface NSLengthFormatter : NSFormatter +{ + BOOL _isForPersonHeightUse; + NSNumberFormatter *_numberFormatter; +} + +- (NSNumberFormatter *) numberFormatter; +- (void) setNumberFormatter: (NSNumberFormatter *)formatter; + +- (NSFormattingUnitStyle) unitStyle; +- (void) setUnitStyle: (NSFormattingUnitStyle)style; + +- (BOOL) isForPersonHeightUse; +- (void) setForPersonHeightUse: (BOOL)flag; + +- (NSString *) stringFromValue: (double)value unit: (NSLengthFormatterUnit)unit; + +- (NSString *) stringFromMeters: (double)numberInMeters; + +- (NSString *) unitStringFromValue: (double)value unit: (NSLengthFormatterUnit)unit; + +- (NSString *) unitStringFromMeters: (double)numberInMeters usedUnit: (NSLengthFormatterUnit *)unit; + +- (BOOL)getObjectValue: (id*)obj forString: (NSString *)string errorDescription: (NSString **)error; @end diff --git a/Source/NSLengthFormatter.m b/Source/NSLengthFormatter.m index abd70ae10..cb0aac40e 100644 --- a/Source/NSLengthFormatter.m +++ b/Source/NSLengthFormatter.m @@ -27,5 +27,50 @@ @implementation NSLengthFormatter +- (NSNumberFormatter *) numberFormatter +{ +} + +- (void) setNumberFormatter: (NSNumberFormatter *)formatter +{ +} + +- (NSFormattingUnitStyle) unitStyle +{ +} + +- (void) setUnitStyle: (NSFormattingUnitStyle)style +{ +} + +- (BOOL) isForPersonHeightUse +{ +} + +- (void) setForPersonHeightUse: (BOOL)flag +{ +} + +- (NSString *) stringFromValue: (double)value unit: (NSLengthFormatterUnit)unit +{ +} + +- (NSString *) stringFromMeters: (double)numberInMeters +{ +} + +- (NSString *) unitStringFromValue: (double)value unit: (NSLengthFormatterUnit)unit +{ +} + +- (NSString *) unitStringFromMeters: (double)numberInMeters usedUnit: (NSLengthFormatterUnit *)unit +{ +} + +- (BOOL)getObjectValue: (id*)obj forString: (NSString *)string errorDescription: (NSString **)error +{ + return NO; +} + @end