-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDSAActionParameterDescriptor.m
More file actions
75 lines (61 loc) · 2.53 KB
/
DSAActionParameterDescriptor.m
File metadata and controls
75 lines (61 loc) · 2.53 KB
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
/*
Project: DSA-SpielHelfer
Copyright (C) 2025 Free Software Foundation
Author: Sebastian Reitenbach
Created: 2025-07-22 21:17:13 +0200 by sebastia
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This application is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import "DSAActionParameterDescriptor.h"
@implementation DSAActionParameterDescriptor
#pragma mark - Convenience Initializer
+ (instancetype)descriptorWithKey:(NSString *)key
label:(NSString *)label
helpText:(NSString *)helpText
type:(DSAActionParameterType)type
{
DSAActionParameterDescriptor *desc = [[self alloc] init];
desc.key = key;
desc.label = label;
desc.helpText = helpText;
desc.type = type;
desc.minValue = 0;
desc.maxValue = 100;
return desc;
}
#pragma mark - NSSecureCoding
+ (BOOL)supportsSecureCoding {
return YES;
}
- (void)encodeWithCoder:(NSCoder *)coder {
[coder encodeObject:self.key forKey:@"key"];
[coder encodeObject:self.label forKey:@"label"];
[coder encodeObject:self.helpText forKey:@"helpText"];
[coder encodeInteger:self.type forKey:@"type"];
[coder encodeObject:self.choices forKey:@"choices"];
[coder encodeInteger:self.minValue forKey:@"minValue"];
[coder encodeInteger:self.maxValue forKey:@"maxValue"];
}
- (instancetype)initWithCoder:(NSCoder *)coder {
self = [super init];
if (self) {
_key = [coder decodeObjectOfClass:[NSString class] forKey:@"key"];
_label = [coder decodeObjectOfClass:[NSString class] forKey:@"label"];
_helpText = [coder decodeObjectOfClass:[NSString class] forKey:@"helpText"];
_type = [coder decodeIntegerForKey:@"type"];
_choices = [coder decodeObjectOfClass:[NSArray class] forKey:@"choices"];
_minValue = [coder decodeIntegerForKey:@"minValue"];
_maxValue = [coder decodeIntegerForKey:@"maxValue"];
}
return self;
}
@end