-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExpandableCellData.m
70 lines (61 loc) · 2.21 KB
/
ExpandableCellData.m
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
//
// ExpandableCellData.m
// AvocadoTest1
//
// Created by Jake on 12-03-30.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import "ExpandableCellData.h"
#import "Option.h"
#import "Combo.h"
#import "Item.h"
#import "Menu.h"
#import "ListRenderer.h"
@implementation ExpandableCellData
@synthesize primaryItem;
@synthesize isOpen;
@synthesize expansionContents;
@synthesize renderer;
-(id)initWithPrimaryItem:(id)aThing AndRenderer:(ListRenderer *)aRenderer
{
self = [super init];
if (self)
{
renderer = aRenderer;
expansionContents = [[NSMutableArray alloc] init];
primaryItem = aThing;
//We'll set up the expansion contents if we know how.
if ([primaryItem isKindOfClass:[Menu class]]) {
if ([expansionContents count] == 0) {
for (id eachItem in [primaryItem submenuList])
{
if ([eachItem isKindOfClass:[Item class]]) {
NSMutableDictionary *newDictionary;
newDictionary = [[NSMutableDictionary alloc] init];
[newDictionary setObject:eachItem forKey:@"menuItem"];
[expansionContents addObject:newDictionary];
}
}
for (Combo *eachCombo in [primaryItem comboList]) {
NSMutableDictionary *newDictionary;
newDictionary = [[NSMutableDictionary alloc] init];
[newDictionary setObject:eachCombo forKey:@"menuCombo"];
[expansionContents addObject:newDictionary];
}
}
}
if ([primaryItem isKindOfClass:[Option class]]) {
if ([expansionContents count] == 0) {
for (Choice *eachChoice in [primaryItem choiceList])
{
NSMutableDictionary *newDictionary;
newDictionary = [[NSMutableDictionary alloc] init];
[newDictionary setObject:eachChoice forKey:@"choice"];
[expansionContents addObject:newDictionary];
}
}
}
isOpen = NO; }
return self;
}
@end