Subversion Repositories TruePreview

[/] [trunk/] [Source/] [TruePreviewPreferenceValueTransformer.m] - Blame information for rev 42

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 jhriggs
/*
2 42 jhriggs
 * Copyright (c) 2009-2011, Jim Riggs, Christian Serving, L.L.C.
3 14 jhriggs
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions are
7
 * met:
8
 *     * Redistributions of source code must retain the above copyright
9
 *       notice, this list of conditions and the following disclaimer.
10
 *     * Redistributions in binary form must reproduce the above
11
 *       copyright notice, this list of conditions and the following
12
 *       disclaimer in the documentation and/or other materials provided
13
 *       with the distribution.
14
 *     * Neither the name of Christian Serving, L.L.C. nor the names of
15
 *       its contributors may be used to endorse or promote products
16
 *       derived from this software without specific prior written
17
 *       permission.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
 */
31
 
32
#import "TruePreviewPreferenceValueTransformer.h"
33
 
34
@implementation TruePreviewPreferenceValueTransformer
35
 
36
#pragma mark NSValueTransformer class methods
37
 
38
+ (Class)transformedValueClass {
39
  return [NSNumber class];
40
}
41
 
42
#pragma mark NSValueTransformer instance methods
43
 
44
- (id)transformedValue:(id)inValue {
45
  float theValue = [inValue floatValue];
46
 
47
  if ((theValue > 0) && (theValue <= TRUEPREVIEW_DELAY_MAX)) {
48
    return [NSNumber numberWithInt:1];
49
  }
50
  else if (
51
    (theValue == TRUEPREVIEW_DELAY_IMMEDIATE)
52
    || (theValue == TRUEPREVIEW_DELAY_DEFAULT)
53
    || (theValue == TRUEPREVIEW_DELAY_NEVER)
54
  ) {
55
    return [NSNumber numberWithInt:theValue];
56
  }
57
  else {
58
    return [NSNumber numberWithInt:TRUEPREVIEW_DELAY_DEFAULT];
59
  }
60
}
61
 
62
@end
63
 
64
@implementation TruePreviewPreferenceValueTransformerDelay
65
 
66
#pragma mark NSValueTransformer class methods
67
 
68
+ (Class)transformedValueClass {
69
  return [NSNumber class];
70
}
71
 
72
#pragma mark NSValueTransformer instance methods
73
 
74
- (id)transformedValue:(id)inValue {
75
  float theValue = [inValue floatValue];
76
 
77
  if ((theValue <= 0) || (theValue > TRUEPREVIEW_DELAY_MAX)) {
78
    return nil;
79
  }
80
  else {
81
    return [NSNumber numberWithFloat:theValue];
82
  }
83
}
84
 
85
@end
86
 
87
@implementation TruePreviewPreferenceValueTransformerDelayEditIndicator
88
 
89
#pragma mark NSValueTransformer class methods
90
 
91
+ (Class)transformedValueClass {
92
  return [NSNumber class];
93
}
94
 
95
#pragma mark NSValueTransformer instance methods
96
 
97
- (id)transformedValue:(id)inValue {
98
  float theValue = [inValue floatValue];
99
 
100
  return [NSNumber numberWithInt:((theValue > 0) && (theValue <= TRUEPREVIEW_DELAY_MAX))];
101
}
102
 
103
@end