spiegel-keyman/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMCompStore.m
2019-06-20 01:51:49 -07:00

179 lines
4.8 KiB
Objective-C

//
// KMCompStore.m
// KeymanEngine4Mac
//
// Created by Serkan Kurt on 28/11/2014.
// Copyright (c) 2017 SIL International. All rights reserved.
//
#import "KMCompStore.h"
@implementation KMCompStore
- (id)init {
self = [super init];
if (self) {
_systemID = @"";
_name = @"";
_string = @"";
}
return self;
}
- (id)copyWithZone:(NSZone *)zone {
KMCompStore *newStore = [[[self class] allocWithZone:zone] init];
if (newStore) {
[newStore setDwSystemID:[self dwSystemID]];
if ([self name]) newStore.name = [[NSString alloc] initWithString:[self name]];
if ([self string]) newStore.string = [[NSString alloc] initWithString:[self string]];
}
return newStore;
}
- (NSString *)description {
NSString *format = @"<%@:%p ID:0x%X DN:%@ N:%@ S:%@>";
NSString *str = [NSString stringWithFormat:format,
self.className, self, self.dwSystemID, self.systemID, self.name, self.string];
return str;
}
- (void)setDwSystemID:(DWORD)dwID {
_dwSystemID = dwID;
_systemID = [self TSS_DEF_NAME:_dwSystemID];
}
- (NSString *)TSS_DEF_NAME:(DWORD)d {
switch (d) {
case TSS_NONE:
return @"TSS_NONE";
break;
case TSS_BITMAP:
return @"TSS_BITMAP";
break;
case TSS_COPYRIGHT:
return @"TSS_COPYRIGHT";
break;
case TSS_HOTKEY:
return @"TSS_HOTKEY";
break;
case TSS_LANGUAGE:
return @"TSS_LANGUAGE";
break;
case TSS_LAYOUT:
return @"TSS_LAYOUT";
break;
case TSS_MESSAGE:
return @"TSS_MESSAGE";
break;
case TSS_NAME:
return @"TSS_NAME";
break;
case TSS_VERSION:
return @"TSS_VERSION";
break;
case TSS_CAPSONONLY:
return @"TSS_CAPSONONLY";
break;
case TSS_CAPSALWAYSOFF:
return @"TSS_CAPSALWAYSOFF";
break;
case TSS_SHIFTFREESCAPS:
return @"TSS_SHIFTFREESCAPS";
break;
case TSS_LANGUAGENAME:
return @"TSS_LANGUAGENAME";
break;
case TSS_CALLDEFINITION:
return @"TSS_CALLDEFINITION";
break;
case TSS_CALLDEFINITION_LOADFAILED:
return @"TSS_CALLDEFINITION_LOADFAILED";
break;
case TSS_ETHNOLOGUECODE:
return @"TSS_ETHNOLOGUECODE";
break;
case TSS_DEBUG_LINE:
return @"TSS_DEBUG_LINE";
break;
case TSS_MNEMONIC:
return @"TSS_MNEMONIC";
break;
case TSS_INCLUDECODES:
return @"TSS_INCLUDECODES";
break;
case TSS_OLDCHARPOSMATCHING:
return @"TSS_OLDCHARPOSMATCHING";
break;
case TSS_COMPILEDVERSION:
return @"TSS_COMPILEDVERSION";
break;
case TSS_KEYMANCOPYRIGHT:
return @"TSS_KEYMANCOPYRIGHT:";
break;
case TSS_CUSTOMKEYMANEDITION:
return @"TSS_CUSTOMKEYMANEDITION";
break;
case TSS_CUSTOMKEYMANEDITIONNAME:
return @"TSS_CUSTOMKEYMANEDITIONNAME";
break;
case TSS_VISUALKEYBOARD:
return @"TSS_VISUALKEYBOARD";
break;
case TSS_KMW_RTL:
return @"TSS_KMW_RTL";
break;
case TSS_KMW_HELPFILE:
return @"TSS_HELPFILE";
break;
case TSS_KMW_HELPTEXT:
return @"TSS_HELPTEXT";
break;
case TSS_KMW_EMBEDJS:
return @"TSS_EMBEDJS";
break;
case TSS_WINDOWSLANGUAGES:
return @"TSS_WINDOWSLANGUAGES";
break;
case TSS_COMPARISON:
return @"TSS_COMPARISON";
break;
case TSS_PLATFORM:
return @"TSS_PLATFORM";
break;
case TSS_BASELAYOUT:
return @"TSS_BASELAYOUT";
break;
case TSS_LAYER:
return @"TSS_LAYER";
break;
case TSS_PLATFORM_NOMATCH:
return @"TSS_PLATFORM_NOMATCH";
break;
case TSS_PLATFORM_MATCH:
return @"TSS_PLATFORM_MATCH";
break;
case TSS_VKDICTIONARY:
return @"TSS_VKDICTIONARY";
break;
case TSS_LAYOUTFILE:
return @"TSS_LAYOUTFILE";
break;
case TSS_KEYBOARDVERSION:
return @"TSS_KEYBOARDVERSION";
break;
case TSS_KMW_EMBEDCSS:
return @"TSS_KMW_EMBEDCSS";
break;
case TSS_TARGETS:
return @"TSS_TARGETS";
break;
default:
return nil;
break;
}
}
@end