-
Notifications
You must be signed in to change notification settings - Fork 421
/
Copy pathSquirrelConfig.hh
107 lines (88 loc) · 5.03 KB
/
SquirrelConfig.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#import <Cocoa/Cocoa.h>
typedef uintptr_t RimeSessionId;
__attribute__((objc_direct_members))
@interface SquirrelOptionSwitcher : NSObject
@property(nonatomic, strong, readonly, nonnull) NSString* schemaId;
@property(nonatomic, strong, readonly, nonnull) NSString* currentScriptVariant;
@property(nonatomic, strong, readonly, nonnull) NSSet<NSString*>* optionNames;
@property(nonatomic, strong, readonly, nonnull) NSSet<NSString*>* optionStates;
@property(nonatomic, strong, readonly, nonnull)
NSDictionary<NSString*, NSString*>* scriptVariantOptions;
@property(nonatomic, strong, readonly, nonnull)
NSMutableDictionary<NSString*, NSString*>* switcher;
@property(nonatomic, strong, readonly, nonnull)
NSDictionary<NSString*, NSOrderedSet<NSString*>*>* optionGroups;
- (instancetype _Nonnull)
initWithSchemaId:(NSString* _Nullable)schemaId
switcher:(NSMutableDictionary<NSString*, NSString*>* _Nullable)
switcher
optionGroups:
(NSDictionary<NSString*, NSOrderedSet<NSString*>*>* _Nullable)
optionGroups
defaultScriptVariant:(NSString* _Nullable)defaultScriptVariant
scriptVariantOptions:
(NSDictionary<NSString*, NSString*>* _Nullable)scriptVariantOptions
NS_DESIGNATED_INITIALIZER;
- (instancetype _Nonnull)initWithSchemaId:(NSString* _Nullable)schemaId;
// return whether switcher options has been successfully updated
- (BOOL)updateSwitcher:
(NSMutableDictionary<NSString*, NSString*>* _Nonnull)switcher;
- (BOOL)updateGroupState:(NSString* _Nonnull)optionState
ofOption:(NSString* _Nonnull)optionName;
- (BOOL)updateCurrentScriptVariant:(NSString* _Nonnull)scriptVariant;
- (void)updateWithRimeSession:(RimeSessionId)session;
@end // SquirrelOptionSwitcher
__attribute__((objc_direct_members))
@interface SquirrelConfig : NSObject
typedef NSDictionary<NSString*, NSNumber*> SquirrelAppOptions;
@property(nonatomic, strong, readonly, nonnull) NSString* schemaId;
@property(nonatomic, strong, nonnull) NSString* colorSpace;
- (BOOL)openBaseConfig;
- (BOOL)openWithSchemaId:(NSString* _Nonnull)schemaId
baseConfig:(SquirrelConfig* _Nullable)config;
- (BOOL)openUserConfig:(NSString* _Nonnull)configId;
- (BOOL)openWithConfigId:(NSString* _Nonnull)configId;
- (void)close;
- (BOOL)hasSection:(NSString* _Nonnull)section;
- (BOOL)setOption:(NSString* _Nonnull)option withBool:(bool)value;
- (BOOL)setOption:(NSString* _Nonnull)option withInt:(int)value;
- (BOOL)setOption:(NSString* _Nonnull)option withDouble:(double)value;
- (BOOL)setOption:(NSString* _Nonnull)option
withString:(NSString* _Nonnull)value;
- (BOOL)getBoolForOption:(NSString* _Nonnull)option;
- (int)getIntForOption:(NSString* _Nonnull)option;
- (double)getDoubleForOption:(NSString* _Nonnull)option;
- (double)getDoubleForOption:(NSString* _Nonnull)option
applyConstraint:(double (*_Nonnull)(double param))func;
- (NSNumber* _Nullable)getOptionalBoolForOption:(NSString* _Nonnull)option;
- (NSNumber* _Nullable)getOptionalIntForOption:(NSString* _Nonnull)option;
- (NSNumber* _Nullable)getOptionalDoubleForOption:(NSString* _Nonnull)option;
- (NSNumber* _Nullable)getOptionalDoubleForOption:(NSString* _Nonnull)option
applyConstraint:
(double (*_Nonnull)(double param))func;
- (NSNumber* _Nullable)getOptionalBoolForOption:(NSString* _Nonnull)option
alias:(NSString* _Nullable)alias;
- (NSNumber* _Nullable)getOptionalIntForOption:(NSString* _Nonnull)option
alias:(NSString* _Nullable)alias;
- (NSNumber* _Nullable)getOptionalDoubleForOption:(NSString* _Nonnull)option
alias:(NSString* _Nullable)alias;
- (NSNumber* _Nullable)getOptionalDoubleForOption:(NSString* _Nonnull)option
alias:(NSString* _Nullable)alias
applyConstraint:
(double (*_Nonnull)(double param))func;
- (NSString* _Nullable)getStringForOption:(NSString* _Nonnull)option;
// 0xaabbggrr or 0xbbggrr
- (NSColor* _Nullable)getColorForOption:(NSString* _Nonnull)option;
// file path (absolute or relative to ~/Library/Rime)
- (NSImage* _Nullable)getImageForOption:(NSString* _Nonnull)option;
- (NSString* _Nullable)getStringForOption:(NSString* _Nonnull)option
alias:(NSString* _Nullable)alias;
- (NSColor* _Nullable)getColorForOption:(NSString* _Nonnull)option
alias:(NSString* _Nullable)alias;
- (NSImage* _Nullable)getImageForOption:(NSString* _Nonnull)option
alias:(NSString* _Nullable)alias;
- (NSUInteger)getListSizeForOption:(NSString* _Nonnull)option;
- (NSArray<NSString*>* _Nullable)getListForOption:(NSString* _Nonnull)option;
- (SquirrelOptionSwitcher* _Nullable)getOptionSwitcher;
- (SquirrelAppOptions* _Nonnull)getAppOptions:(NSString* _Nonnull)appName;
@end // SquirrelConfig