Commit 985b8e1cdd1714794c2c116dcb621fa89e67d7f1
1 parent
c0a50a77
--no commit message
Showing
20 changed files
with
390 additions
and
28 deletions
DUREX Vendor Control/Base.lproj/Localizable.strings
@@ -45,4 +45,16 @@ | @@ -45,4 +45,16 @@ | ||
45 | "Searching for devices..." = "Searching for devices..."; | 45 | "Searching for devices..." = "Searching for devices..."; |
46 | "Connection Failed" = "Connection Failed"; | 46 | "Connection Failed" = "Connection Failed"; |
47 | "An error occurred while trying to connect to the selected device" = "An error occurred while trying to connect to the selected device"; | 47 | "An error occurred while trying to connect to the selected device" = "An error occurred while trying to connect to the selected device"; |
48 | -"Close" = "Close"; | ||
49 | \ No newline at end of file | 48 | \ No newline at end of file |
49 | +"Close" = "Close"; | ||
50 | +"20€ Notes" = "20€ Notes"; | ||
51 | +"10€ Notes" = "10€ Notes"; | ||
52 | +"5€ Notes" = "5€ Notes"; | ||
53 | +"2€ Coins" = "2€ Coins"; | ||
54 | +"1€ Coins" = "1€ Coins"; | ||
55 | +"50c Coins" = "50c Coins"; | ||
56 | +"Channel" = "Channel"; | ||
57 | +"Product Code" = "Product Code"; | ||
58 | +"Nominal Price" = "Nominal Price"; | ||
59 | +"Discounted Price" = "Discounted Price"; | ||
60 | +"1€ Change" = "1€ Change"; | ||
61 | +"50c Change" = "50c Change"; | ||
50 | \ No newline at end of file | 62 | \ No newline at end of file |
DUREX Vendor Control/CommunicationProtocol.h
@@ -9,8 +9,9 @@ | @@ -9,8 +9,9 @@ | ||
9 | #import <Foundation/Foundation.h> | 9 | #import <Foundation/Foundation.h> |
10 | #import "EMFramework.h" | 10 | #import "EMFramework.h" |
11 | 11 | ||
12 | -#define MAX_STRING_LENGTH ((int)200) | ||
13 | -#define MAX_RETRIES ((int)3) | 12 | +#define MAX_STRING_LENGTH ((int)200) |
13 | +#define MAX_RETRIES ((int)3) | ||
14 | +#define MAX_PRODUCT_NAME_LENGTH ((int)64) | ||
14 | 15 | ||
15 | @interface CommunicationProtocol : NSObject | 16 | @interface CommunicationProtocol : NSObject |
16 | 17 | ||
@@ -18,6 +19,9 @@ | @@ -18,6 +19,9 @@ | ||
18 | -(Boolean) writeMessage: (NSString*) message; | 19 | -(Boolean) writeMessage: (NSString*) message; |
19 | -(NSString*) readMessage; | 20 | -(NSString*) readMessage; |
20 | -(Boolean) establishConnection; | 21 | -(Boolean) establishConnection; |
22 | +-(Boolean) updateTime: (NSDateComponents*) date; | ||
23 | +-(Boolean) updatePrice: (uint8_t) channel : (uint8_t) product : (uint8_t) eur : (uint8_t) cents; | ||
24 | +-(Boolean) updateProductName: (uint8_t) channel : (uint8_t) product : (NSString*) name; | ||
21 | +(id) sharedProtocol; | 25 | +(id) sharedProtocol; |
22 | @property Boolean messageAvailable; | 26 | @property Boolean messageAvailable; |
23 | 27 |
DUREX Vendor Control/CommunicationProtocol.m
@@ -185,4 +185,54 @@ | @@ -185,4 +185,54 @@ | ||
185 | return FALSE; | 185 | return FALSE; |
186 | } | 186 | } |
187 | 187 | ||
188 | +-(Boolean) updateTime: (NSDateComponents*) date | ||
189 | +{ | ||
190 | + if(date == nil) | ||
191 | + { | ||
192 | + NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; | ||
193 | + NSCalendarUnit units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; | ||
194 | + date = [calendar components:units fromDate:[NSDate date]]; | ||
195 | + } | ||
196 | + NSMutableString *command = [NSMutableString stringWithFormat: @"A5"]; | ||
197 | + NSInteger year = [date year]; | ||
198 | + year = year - (year/100)*100; | ||
199 | + [command appendString:[NSString stringWithFormat:@"%02d",year]]; | ||
200 | + [command appendString:[NSString stringWithFormat:@"%02d%02d%02d%02d%02d",[date month],[date day],[date hour],[date minute],[date second]]]; | ||
201 | + [self writeMessage:command]; | ||
202 | + NSString *answer = [self readMessage]; | ||
203 | + if([answer isEqualToString:@"P51"]) | ||
204 | + { | ||
205 | + return TRUE; | ||
206 | + } | ||
207 | + return FALSE; | ||
208 | +} | ||
209 | + | ||
210 | +-(Boolean) updatePrice: (uint8_t) channel : (uint8_t) product : (uint8_t) eur : (uint8_t) cents | ||
211 | +{ | ||
212 | + NSMutableString *command = [NSMutableString stringWithFormat: @"A6%01d%01d%02d%02d",channel,product,eur,cents]; | ||
213 | + [self writeMessage:command]; | ||
214 | + NSString *answer = [self readMessage]; | ||
215 | + if([answer isEqualToString:@"P61"]) | ||
216 | + { | ||
217 | + return TRUE; | ||
218 | + } | ||
219 | + return FALSE; | ||
220 | +} | ||
221 | + | ||
222 | +-(Boolean) updateProductName: (uint8_t) channel : (uint8_t) product : (NSString*) name | ||
223 | +{ | ||
224 | + if([name length] > MAX_PRODUCT_NAME_LENGTH) | ||
225 | + { | ||
226 | + name = [name substringToIndex:MAX_PRODUCT_NAME_LENGTH-1]; | ||
227 | + } | ||
228 | + NSMutableString *command = [NSMutableString stringWithFormat: @"A7%01d%01d%@",channel,product,name]; | ||
229 | + [self writeMessage:command]; | ||
230 | + NSString *answer = [self readMessage]; | ||
231 | + if([answer isEqualToString:@"P71"]) | ||
232 | + { | ||
233 | + return TRUE; | ||
234 | + } | ||
235 | + return FALSE; | ||
236 | +} | ||
237 | + | ||
188 | @end | 238 | @end |
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.pbxproj
@@ -429,8 +429,8 @@ | @@ -429,8 +429,8 @@ | ||
429 | CLANG_WARN_INT_CONVERSION = YES; | 429 | CLANG_WARN_INT_CONVERSION = YES; |
430 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 430 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
431 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 431 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
432 | - CODE_SIGN_IDENTITY = "iPhone Developer"; | ||
433 | - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 432 | + CODE_SIGN_IDENTITY = ""; |
433 | + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | ||
434 | COPY_PHASE_STRIP = NO; | 434 | COPY_PHASE_STRIP = NO; |
435 | GCC_C_LANGUAGE_STANDARD = gnu99; | 435 | GCC_C_LANGUAGE_STANDARD = gnu99; |
436 | GCC_DYNAMIC_NO_PIC = NO; | 436 | GCC_DYNAMIC_NO_PIC = NO; |
@@ -469,8 +469,8 @@ | @@ -469,8 +469,8 @@ | ||
469 | CLANG_WARN_INT_CONVERSION = YES; | 469 | CLANG_WARN_INT_CONVERSION = YES; |
470 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 470 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
471 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 471 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
472 | - CODE_SIGN_IDENTITY = "iPhone Developer"; | ||
473 | - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 472 | + CODE_SIGN_IDENTITY = ""; |
473 | + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | ||
474 | COPY_PHASE_STRIP = YES; | 474 | COPY_PHASE_STRIP = YES; |
475 | ENABLE_NS_ASSERTIONS = NO; | 475 | ENABLE_NS_ASSERTIONS = NO; |
476 | GCC_C_LANGUAGE_STANDARD = gnu99; | 476 | GCC_C_LANGUAGE_STANDARD = gnu99; |
DUREX Vendor Control/DUREX Vendor Control.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX Vendor Control/FirstAppExample/Base.lproj/MainStoryboard.storyboard
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13B42" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="kWw-Rk-wD6"> | 2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="kWw-Rk-wD6"> |
3 | <dependencies> | 3 | <dependencies> |
4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> |
5 | </dependencies> | 5 | </dependencies> |
@@ -78,9 +78,26 @@ | @@ -78,9 +78,26 @@ | ||
78 | </subviews> | 78 | </subviews> |
79 | </tableViewCellContentView> | 79 | </tableViewCellContentView> |
80 | </tableViewCell> | 80 | </tableViewCell> |
81 | - <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="MaintenanceCell" textLabel="C5J-Ml-IpR" detailTextLabel="2Zv-NQ-q8W" style="IBUITableViewCellStyleValue1" id="tNx-4C-IjZ"> | 81 | + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="ConfigCell" textLabel="PIv-Eg-iw5" style="IBUITableViewCellStyleDefault" id="fRm-AU-oWl"> |
82 | <rect key="frame" x="0.0" y="130" width="320" height="44"/> | 82 | <rect key="frame" x="0.0" y="130" width="320" height="44"/> |
83 | <autoresizingMask key="autoresizingMask"/> | 83 | <autoresizingMask key="autoresizingMask"/> |
84 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="fRm-AU-oWl" id="fZ0-yn-P6t"> | ||
85 | + <rect key="frame" x="0.0" y="0.0" width="287" height="43"/> | ||
86 | + <autoresizingMask key="autoresizingMask"/> | ||
87 | + <subviews> | ||
88 | + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="PIv-Eg-iw5"> | ||
89 | + <rect key="frame" x="15" y="0.0" width="270" height="43"/> | ||
90 | + <autoresizingMask key="autoresizingMask"/> | ||
91 | + <fontDescription key="fontDescription" type="system" pointSize="18"/> | ||
92 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | ||
93 | + <nil key="highlightedColor"/> | ||
94 | + </label> | ||
95 | + </subviews> | ||
96 | + </tableViewCellContentView> | ||
97 | + </tableViewCell> | ||
98 | + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="MaintenanceCell" textLabel="C5J-Ml-IpR" detailTextLabel="2Zv-NQ-q8W" style="IBUITableViewCellStyleValue1" id="tNx-4C-IjZ"> | ||
99 | + <rect key="frame" x="0.0" y="174" width="320" height="44"/> | ||
100 | + <autoresizingMask key="autoresizingMask"/> | ||
84 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="tNx-4C-IjZ" id="YyS-Ug-Lg0"> | 101 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="tNx-4C-IjZ" id="YyS-Ug-Lg0"> |
85 | <rect key="frame" x="0.0" y="0.0" width="320" height="43"/> | 102 | <rect key="frame" x="0.0" y="0.0" width="320" height="43"/> |
86 | <autoresizingMask key="autoresizingMask"/> | 103 | <autoresizingMask key="autoresizingMask"/> |
@@ -102,6 +119,30 @@ | @@ -102,6 +119,30 @@ | ||
102 | </subviews> | 119 | </subviews> |
103 | </tableViewCellContentView> | 120 | </tableViewCellContentView> |
104 | </tableViewCell> | 121 | </tableViewCell> |
122 | + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SalesCell" textLabel="HRc-DC-qxG" detailTextLabel="dhY-17-9fo" style="IBUITableViewCellStyleValue1" id="gpr-Mk-KfN"> | ||
123 | + <rect key="frame" x="0.0" y="218" width="320" height="44"/> | ||
124 | + <autoresizingMask key="autoresizingMask"/> | ||
125 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gpr-Mk-KfN" id="bFe-TX-iWA"> | ||
126 | + <rect key="frame" x="0.0" y="0.0" width="320" height="43"/> | ||
127 | + <autoresizingMask key="autoresizingMask"/> | ||
128 | + <subviews> | ||
129 | + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="HRc-DC-qxG"> | ||
130 | + <rect key="frame" x="15" y="11" width="33" height="21"/> | ||
131 | + <autoresizingMask key="autoresizingMask"/> | ||
132 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
133 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | ||
134 | + <nil key="highlightedColor"/> | ||
135 | + </label> | ||
136 | + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Detail" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="dhY-17-9fo"> | ||
137 | + <rect key="frame" x="261" y="11" width="44" height="21"/> | ||
138 | + <autoresizingMask key="autoresizingMask"/> | ||
139 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
140 | + <color key="textColor" red="0.5568627451" green="0.5568627451" blue="0.57647058819999997" alpha="1" colorSpace="calibratedRGB"/> | ||
141 | + <nil key="highlightedColor"/> | ||
142 | + </label> | ||
143 | + </subviews> | ||
144 | + </tableViewCellContentView> | ||
145 | + </tableViewCell> | ||
105 | </prototypes> | 146 | </prototypes> |
106 | <sections/> | 147 | <sections/> |
107 | <connections> | 148 | <connections> |
DUREX Vendor Control/MenuTableViewController.h
@@ -21,13 +21,20 @@ | @@ -21,13 +21,20 @@ | ||
21 | #define MAINTENANCE_CELLS_PER_SECTION num(23),num(3) | 21 | #define MAINTENANCE_CELLS_PER_SECTION num(23),num(3) |
22 | #define MAINTENANCE_HEADERS NSLocalizedString(@"Sensors", nil),NSLocalizedString(@"Commands", nil) | 22 | #define MAINTENANCE_HEADERS NSLocalizedString(@"Sensors", nil),NSLocalizedString(@"Commands", nil) |
23 | 23 | ||
24 | -#define CELL_IDENTIFIERS @"MenuCell",@"MaintenanceCell",@"ConfigCell",@"ReportCell" | 24 | +#define SALES_ELEMENTS @"20€ Notes",@"10€ Notes",@"5€ Notes",@"2€ Coins",@"1€ Coins",@"50c Coins",@"Channel",@"Product Code",@"Nominal Price",@"Discounted Price",@"1€ Change",@"50c Change",@"20€ Notes",@"10€ Notes",@"5€ Notes",@"2€ Coins",@"1€ Coins",@"50c Coins",@"Channel",@"Product Code",@"Nominal Price",@"Discounted Price",@"1€ Change",@"50c Change",@"20€ Notes",@"10€ Notes",@"5€ Notes",@"2€ Coins",@"1€ Coins",@"50c Coins",@"Channel",@"Product Code",@"Nominal Price",@"Discounted Price",@"1€ Change",@"50c Change" |
25 | +#define SALES_CELLS_PER_SECTION num(12),num(12),num(12) | ||
26 | +#define SALES_HEADERS @"14/06/2014",@"25/06/2014",@"05/07/2014" | ||
25 | 27 | ||
26 | -#define NUM_CHANNELS 8 | 28 | +#define CONFIGURATION_ELEMENTS @"Update Date & Time",@"Update product price",@"Update product name" |
29 | +#define CONFIGURATION_CELLS_PER_SECTION num(3) | ||
30 | +#define CONFIGURATION_HEADERS nil | ||
31 | + | ||
32 | +#define CELL_IDENTIFIERS @"MenuCell",@"MaintenanceCell",@"SalesCell",@"ConfigCell",@"ReportCell" | ||
27 | 33 | ||
28 | enum { | 34 | enum { |
29 | MENU = 0, | 35 | MENU = 0, |
30 | MAINTENANCE, | 36 | MAINTENANCE, |
37 | + SALES, | ||
31 | BASIC_CONFIGURATION, | 38 | BASIC_CONFIGURATION, |
32 | REPORT, | 39 | REPORT, |
33 | } navigationLevel; | 40 | } navigationLevel; |
DUREX Vendor Control/MenuTableViewController.m
@@ -21,6 +21,14 @@ | @@ -21,6 +21,14 @@ | ||
21 | @property (nonatomic,strong) const NSArray *maintenanceStructure; | 21 | @property (nonatomic,strong) const NSArray *maintenanceStructure; |
22 | @property (nonatomic,strong) const NSArray *maintenanceHeaders; | 22 | @property (nonatomic,strong) const NSArray *maintenanceHeaders; |
23 | 23 | ||
24 | +@property (nonatomic,strong) const NSArray *salesElements; | ||
25 | +@property (nonatomic,strong) const NSArray *salesStructure; | ||
26 | +@property (nonatomic,strong) const NSArray *salesHeaders; | ||
27 | + | ||
28 | +@property (nonatomic,strong) const NSArray *configElements; | ||
29 | +@property (nonatomic,strong) const NSArray *configStructure; | ||
30 | +@property (nonatomic,strong) const NSArray *configHeaders; | ||
31 | + | ||
24 | @property (nonatomic,strong) const NSArray *cellIdentifiers; | 32 | @property (nonatomic,strong) const NSArray *cellIdentifiers; |
25 | 33 | ||
26 | @property (nonatomic,strong) CommunicationProtocol* protocol; | 34 | @property (nonatomic,strong) CommunicationProtocol* protocol; |
@@ -68,6 +76,28 @@ | @@ -68,6 +76,28 @@ | ||
68 | [self setMaintenanceHeaders:nil]; | 76 | [self setMaintenanceHeaders:nil]; |
69 | } | 77 | } |
70 | 78 | ||
79 | + [self setSalesElements:[[NSArray alloc] initWithObjects:SALES_ELEMENTS, nil]]; | ||
80 | + [self setSalesStructure:[[NSArray alloc] initWithObjects:SALES_CELLS_PER_SECTION, nil]]; | ||
81 | + if([[self salesStructure] count] > 1) | ||
82 | + { | ||
83 | + [self setSalesHeaders:[[NSArray alloc] initWithObjects:SALES_HEADERS, nil]]; | ||
84 | + } | ||
85 | + else | ||
86 | + { | ||
87 | + [self setSalesHeaders:nil]; | ||
88 | + } | ||
89 | + | ||
90 | + [self setConfigElements:[[NSArray alloc] initWithObjects:CONFIGURATION_ELEMENTS, nil]]; | ||
91 | + [self setConfigStructure:[[NSArray alloc] initWithObjects:CONFIGURATION_CELLS_PER_SECTION, nil]]; | ||
92 | + if([[self configStructure] count] > 1) | ||
93 | + { | ||
94 | + [self setConfigHeaders:[[NSArray alloc] initWithObjects:CONFIGURATION_HEADERS, nil]]; | ||
95 | + } | ||
96 | + else | ||
97 | + { | ||
98 | + [self setConfigHeaders:nil]; | ||
99 | + } | ||
100 | + | ||
71 | [self setCellIdentifiers:[[NSArray alloc] initWithObjects:CELL_IDENTIFIERS, nil]]; | 101 | [self setCellIdentifiers:[[NSArray alloc] initWithObjects:CELL_IDENTIFIERS, nil]]; |
72 | } | 102 | } |
73 | 103 | ||
@@ -94,6 +124,20 @@ | @@ -94,6 +124,20 @@ | ||
94 | [self setCurrentStructure:[self maintenanceStructure]]; | 124 | [self setCurrentStructure:[self maintenanceStructure]]; |
95 | [self setCurrentHeaders:[self maintenanceHeaders]]; | 125 | [self setCurrentHeaders:[self maintenanceHeaders]]; |
96 | } | 126 | } |
127 | + else if([self currentNavLevel] == SALES) | ||
128 | + { | ||
129 | + [[self navigationItem] setTitle:NSLocalizedString(@"Sales log", nil)]; | ||
130 | + [self setCurrentElements:[self salesElements]]; | ||
131 | + [self setCurrentStructure:[self salesStructure]]; | ||
132 | + [self setCurrentHeaders:[self salesHeaders]]; | ||
133 | + } | ||
134 | + else if([self currentNavLevel] == BASIC_CONFIGURATION) | ||
135 | + { | ||
136 | + [[self navigationItem] setTitle:NSLocalizedString(@"Basic Configuration", nil)]; | ||
137 | + [self setCurrentElements:[self configElements]]; | ||
138 | + [self setCurrentStructure:[self configStructure]]; | ||
139 | + [self setCurrentHeaders:[self configHeaders]]; | ||
140 | + } | ||
97 | //AND SO ON... | 141 | //AND SO ON... |
98 | [[self tableView] reloadData]; | 142 | [[self tableView] reloadData]; |
99 | NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:[self tableView]]); | 143 | NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:[self tableView]]); |
@@ -235,12 +279,27 @@ | @@ -235,12 +279,27 @@ | ||
235 | NSLog(@"Section: %ld Row: %ld",(long)[indexPath section],(long)[indexPath row]); | 279 | NSLog(@"Section: %ld Row: %ld",(long)[indexPath section],(long)[indexPath row]); |
236 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; | 280 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; |
237 | NSString *cellName = [[[[self tableView] cellForRowAtIndexPath:indexPath]textLabel]text]; | 281 | NSString *cellName = [[[[self tableView] cellForRowAtIndexPath:indexPath]textLabel]text]; |
238 | - if([cellName isEqualToString:NSLocalizedString(@"Maintenance", nil)]) | 282 | + if([cellName isEqualToString:NSLocalizedString(@"Maintenance", nil)] && [self currentNavLevel] == MENU) |
239 | { | 283 | { |
240 | NSLog(@"[MenuTableViewController.m]: Changing to navLevel: MAINTENANCE"); | 284 | NSLog(@"[MenuTableViewController.m]: Changing to navLevel: MAINTENANCE"); |
241 | 285 | ||
242 | [self changeNavLevel:MAINTENANCE:TRUE]; | 286 | [self changeNavLevel:MAINTENANCE:TRUE]; |
243 | } | 287 | } |
288 | + else if([cellName isEqualToString:NSLocalizedString(@"Sales log", nil)] && [self currentNavLevel] == MAINTENANCE) | ||
289 | + { | ||
290 | + NSLog(@"[MenuTableViewController.m]: Changing to navLevel: SALES"); | ||
291 | + [self changeNavLevel:SALES:TRUE]; | ||
292 | + } | ||
293 | + else if([cellName isEqualToString:NSLocalizedString(@"Sales log", nil)] && [self currentNavLevel] == MAINTENANCE) | ||
294 | + { | ||
295 | + NSLog(@"[MenuTableViewController.m]: Changing to navLevel: SALES"); | ||
296 | + [self changeNavLevel:SALES:TRUE]; | ||
297 | + } | ||
298 | + else if([cellName isEqualToString:NSLocalizedString(@"Basic Configuration", nil)] && [self currentNavLevel] == MENU) | ||
299 | + { | ||
300 | + NSLog(@"[MenuTableViewController.m]: Changing to navLevel: BASIC_CONFIGURATION"); | ||
301 | + [self changeNavLevel:BASIC_CONFIGURATION:TRUE]; | ||
302 | + } | ||
244 | } | 303 | } |
245 | 304 | ||
246 | #pragma mark - Table view data source | 305 | #pragma mark - Table view data source |
@@ -300,6 +359,10 @@ | @@ -300,6 +359,10 @@ | ||
300 | 359 | ||
301 | } | 360 | } |
302 | } | 361 | } |
362 | + else if([self currentNavLevel] == SALES) | ||
363 | + { | ||
364 | + | ||
365 | + } | ||
303 | return cell; | 366 | return cell; |
304 | } | 367 | } |
305 | 368 |
DUREX Vendor Control/Stack.m
@@ -27,10 +27,12 @@ | @@ -27,10 +27,12 @@ | ||
27 | - (void) push: (id) element | 27 | - (void) push: (id) element |
28 | { | 28 | { |
29 | [[self dataArray] addObject:element]; | 29 | [[self dataArray] addObject:element]; |
30 | + [self setLastPosition: [self lastPosition] + 1]; | ||
30 | } | 31 | } |
31 | - (id) pop | 32 | - (id) pop |
32 | { | 33 | { |
33 | id element; | 34 | id element; |
35 | + [self setLastPosition: [self lastPosition] - 1]; | ||
34 | element = [[self dataArray] objectAtIndex:[self lastPosition]]; | 36 | element = [[self dataArray] objectAtIndex:[self lastPosition]]; |
35 | [[self dataArray] removeLastObject]; | 37 | [[self dataArray] removeLastObject]; |
36 | return element; | 38 | return element; |
DUREX Vendor Control/en.lproj/Localizable.strings
@@ -45,4 +45,16 @@ | @@ -45,4 +45,16 @@ | ||
45 | "Searching for devices..." = "Searching for devices..."; | 45 | "Searching for devices..." = "Searching for devices..."; |
46 | "Connection Failed" = "Connection Failed"; | 46 | "Connection Failed" = "Connection Failed"; |
47 | "An error occurred while trying to connect to the selected device" = "An error occurred while trying to connect to the selected device"; | 47 | "An error occurred while trying to connect to the selected device" = "An error occurred while trying to connect to the selected device"; |
48 | -"Close" = "Close"; | ||
49 | \ No newline at end of file | 48 | \ No newline at end of file |
49 | +"Close" = "Close"; | ||
50 | +"20€ Notes" = "20€ Notes"; | ||
51 | +"10€ Notes" = "10€ Notes"; | ||
52 | +"5€ Notes" = "5€ Notes"; | ||
53 | +"2€ Coins" = "2€ Coins"; | ||
54 | +"1€ Coins" = "1€ Coins"; | ||
55 | +"50c Coins" = "50c Coins"; | ||
56 | +"Channel" = "Channel"; | ||
57 | +"Product Code" = "Product Code"; | ||
58 | +"Nominal Price" = "Nominal Price"; | ||
59 | +"Discounted Price" = "Discounted Price"; | ||
60 | +"1€ Change" = "1€ Change"; | ||
61 | +"50c Change" = "50c Change"; | ||
50 | \ No newline at end of file | 62 | \ No newline at end of file |
DUREX Vendor Control/es.lproj/Localizable.strings
@@ -45,4 +45,16 @@ | @@ -45,4 +45,16 @@ | ||
45 | "Searching for devices..." = "Buscando dispositivos..."; | 45 | "Searching for devices..." = "Buscando dispositivos..."; |
46 | "Connection Failed" = "Falló la conexión"; | 46 | "Connection Failed" = "Falló la conexión"; |
47 | "An error occurred while trying to connect to the selected device" = "Error al intentar conectarse al dispositivo seleccionado"; | 47 | "An error occurred while trying to connect to the selected device" = "Error al intentar conectarse al dispositivo seleccionado"; |
48 | -"Close" = "Cerrar"; | ||
49 | \ No newline at end of file | 48 | \ No newline at end of file |
49 | +"Close" = "Cerrar"; | ||
50 | +"20€ Notes" = "Billetes de 20€"; | ||
51 | +"10€ Notes" = "Billetes de 10€"; | ||
52 | +"5€ Notes" = "Billetes de 5€"; | ||
53 | +"2€ Coins" = "Monedas de 2€"; | ||
54 | +"1€ Coins" = "Monedas de 1€"; | ||
55 | +"50c Coins" = "Monedas de 50c"; | ||
56 | +"Channel" = "Canal"; | ||
57 | +"Product Code" = "Código del producto"; | ||
58 | +"Nominal Price" = "Precio Nominal"; | ||
59 | +"Discounted Price" = "Precio con descuento"; | ||
60 | +"1€ Change" = "Cambio de 1€"; | ||
61 | +"50c Change" = "Cambio de 50c"; | ||
50 | \ No newline at end of file | 62 | \ No newline at end of file |
DUREX tests/Base.lproj/Localizable.strings
@@ -38,4 +38,19 @@ | @@ -38,4 +38,19 @@ | ||
38 | "50c Coin spin" = "50c Coin spin"; | 38 | "50c Coin spin" = "50c Coin spin"; |
39 | "Sales log" = "Sales log"; | 39 | "Sales log" = "Sales log"; |
40 | "Incident report" = "Incident report"; | 40 | "Incident report" = "Incident report"; |
41 | -"Send report" = "Send report"; | ||
42 | \ No newline at end of file | 41 | \ No newline at end of file |
42 | +"Send report" = "Send report"; | ||
43 | +"20€ Notes" = "20€ Notes"; | ||
44 | +"10€ Notes" = "10€ Notes"; | ||
45 | +"5€ Notes" = "5€ Notes"; | ||
46 | +"2€ Coins" = "2€ Coins"; | ||
47 | +"1€ Coins" = "1€ Coins"; | ||
48 | +"50c Coins" = "50c Coins"; | ||
49 | +"Channel" = "Channel"; | ||
50 | +"Product Code" = "Product Code"; | ||
51 | +"Nominal Price" = "Nominal Price"; | ||
52 | +"Discounted Price" = "Discounted Price"; | ||
53 | +"1€ Change" = "1€ Change"; | ||
54 | +"50c Change" = "50c Change"; | ||
55 | +"Update Date & Time" = "Update Date & Time"; | ||
56 | +"Update product price" = "Update product price"; | ||
57 | +"Update product name" = "Update product name"; | ||
43 | \ No newline at end of file | 58 | \ No newline at end of file |
DUREX tests/Base.lproj/MainStoryboard.storyboard
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13B42" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="kWw-Rk-wD6"> | 2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="kWw-Rk-wD6"> |
3 | <dependencies> | 3 | <dependencies> |
4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> | 4 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> |
5 | </dependencies> | 5 | </dependencies> |
@@ -78,9 +78,26 @@ | @@ -78,9 +78,26 @@ | ||
78 | </subviews> | 78 | </subviews> |
79 | </tableViewCellContentView> | 79 | </tableViewCellContentView> |
80 | </tableViewCell> | 80 | </tableViewCell> |
81 | - <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="MaintenanceCell" textLabel="oML-ji-1Ho" detailTextLabel="Ghk-fD-iNE" style="IBUITableViewCellStyleValue1" id="apQ-aM-g3l"> | 81 | + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="ConfigCell" textLabel="lht-4G-6aX" style="IBUITableViewCellStyleDefault" id="udl-ZZ-ijZ"> |
82 | <rect key="frame" x="0.0" y="130" width="320" height="44"/> | 82 | <rect key="frame" x="0.0" y="130" width="320" height="44"/> |
83 | <autoresizingMask key="autoresizingMask"/> | 83 | <autoresizingMask key="autoresizingMask"/> |
84 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="udl-ZZ-ijZ" id="SlK-j4-bxE"> | ||
85 | + <rect key="frame" x="0.0" y="0.0" width="287" height="43"/> | ||
86 | + <autoresizingMask key="autoresizingMask"/> | ||
87 | + <subviews> | ||
88 | + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="lht-4G-6aX"> | ||
89 | + <rect key="frame" x="15" y="0.0" width="270" height="43"/> | ||
90 | + <autoresizingMask key="autoresizingMask"/> | ||
91 | + <fontDescription key="fontDescription" type="system" pointSize="18"/> | ||
92 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | ||
93 | + <nil key="highlightedColor"/> | ||
94 | + </label> | ||
95 | + </subviews> | ||
96 | + </tableViewCellContentView> | ||
97 | + </tableViewCell> | ||
98 | + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="MaintenanceCell" textLabel="oML-ji-1Ho" detailTextLabel="Ghk-fD-iNE" style="IBUITableViewCellStyleValue1" id="apQ-aM-g3l"> | ||
99 | + <rect key="frame" x="0.0" y="174" width="320" height="44"/> | ||
100 | + <autoresizingMask key="autoresizingMask"/> | ||
84 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="apQ-aM-g3l" id="dQQ-Yv-wa7"> | 101 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="apQ-aM-g3l" id="dQQ-Yv-wa7"> |
85 | <rect key="frame" x="0.0" y="0.0" width="320" height="43"/> | 102 | <rect key="frame" x="0.0" y="0.0" width="320" height="43"/> |
86 | <autoresizingMask key="autoresizingMask"/> | 103 | <autoresizingMask key="autoresizingMask"/> |
@@ -102,6 +119,30 @@ | @@ -102,6 +119,30 @@ | ||
102 | </subviews> | 119 | </subviews> |
103 | </tableViewCellContentView> | 120 | </tableViewCellContentView> |
104 | </tableViewCell> | 121 | </tableViewCell> |
122 | + <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="SalesCell" textLabel="CUV-qn-vKu" detailTextLabel="S5I-Bk-8Z7" style="IBUITableViewCellStyleValue1" id="9Sz-ic-H44"> | ||
123 | + <rect key="frame" x="0.0" y="218" width="320" height="44"/> | ||
124 | + <autoresizingMask key="autoresizingMask"/> | ||
125 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="9Sz-ic-H44" id="Kux-KL-HPg"> | ||
126 | + <rect key="frame" x="0.0" y="0.0" width="320" height="43"/> | ||
127 | + <autoresizingMask key="autoresizingMask"/> | ||
128 | + <subviews> | ||
129 | + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="CUV-qn-vKu"> | ||
130 | + <rect key="frame" x="15" y="11" width="33" height="21"/> | ||
131 | + <autoresizingMask key="autoresizingMask"/> | ||
132 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
133 | + <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> | ||
134 | + <nil key="highlightedColor"/> | ||
135 | + </label> | ||
136 | + <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Detail" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="S5I-Bk-8Z7"> | ||
137 | + <rect key="frame" x="261" y="11" width="44" height="21"/> | ||
138 | + <autoresizingMask key="autoresizingMask"/> | ||
139 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
140 | + <color key="textColor" red="0.5568627451" green="0.5568627451" blue="0.57647058819999997" alpha="1" colorSpace="calibratedRGB"/> | ||
141 | + <nil key="highlightedColor"/> | ||
142 | + </label> | ||
143 | + </subviews> | ||
144 | + </tableViewCellContentView> | ||
145 | + </tableViewCell> | ||
105 | </prototypes> | 146 | </prototypes> |
106 | <sections/> | 147 | <sections/> |
107 | <connections> | 148 | <connections> |
@@ -166,10 +207,10 @@ | @@ -166,10 +207,10 @@ | ||
166 | </subviews> | 207 | </subviews> |
167 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> | 208 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> |
168 | <constraints> | 209 | <constraints> |
169 | - <constraint firstItem="oyW-sA-Lfb" firstAttribute="top" secondItem="bXZ-vt-REt" secondAttribute="bottom" constant="8" id="4cZ-A3-dtl"/> | 210 | + <constraint firstItem="oyW-sA-Lfb" firstAttribute="centerX" secondItem="bXZ-vt-REt" secondAttribute="centerX" constant="0.5" id="FeM-2t-cfF"/> |
211 | + <constraint firstItem="oyW-sA-Lfb" firstAttribute="top" secondItem="bXZ-vt-REt" secondAttribute="bottom" constant="8" id="OG4-ph-EWc"/> | ||
170 | <constraint firstAttribute="centerY" secondItem="bXZ-vt-REt" secondAttribute="centerY" id="iX3-rf-HXs"/> | 212 | <constraint firstAttribute="centerY" secondItem="bXZ-vt-REt" secondAttribute="centerY" id="iX3-rf-HXs"/> |
171 | <constraint firstAttribute="centerX" secondItem="bXZ-vt-REt" secondAttribute="centerX" id="o5J-8O-TzK"/> | 213 | <constraint firstAttribute="centerX" secondItem="bXZ-vt-REt" secondAttribute="centerX" id="o5J-8O-TzK"/> |
172 | - <constraint firstItem="oyW-sA-Lfb" firstAttribute="centerX" secondItem="bXZ-vt-REt" secondAttribute="centerX" constant="0.5" id="ruI-SS-9Bo"/> | ||
173 | </constraints> | 214 | </constraints> |
174 | </view> | 215 | </view> |
175 | <navigationItem key="navigationItem" id="VgB-ne-yWx"/> | 216 | <navigationItem key="navigationItem" id="VgB-ne-yWx"/> |
DUREX tests/DUREX test.xcodeproj/project.xcworkspace/xcuserdata/imanol.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
DUREX tests/MenuTableViewController.h
@@ -20,13 +20,21 @@ | @@ -20,13 +20,21 @@ | ||
20 | #define MAINTENANCE_CELLS_PER_SECTION num(23),num(3) | 20 | #define MAINTENANCE_CELLS_PER_SECTION num(23),num(3) |
21 | #define MAINTENANCE_HEADERS NSLocalizedString(@"Sensors", nil),NSLocalizedString(@"Commands", nil) | 21 | #define MAINTENANCE_HEADERS NSLocalizedString(@"Sensors", nil),NSLocalizedString(@"Commands", nil) |
22 | 22 | ||
23 | -#define CELL_IDENTIFIERS @"MenuCell",@"MaintenanceCell",@"ConfigCell",@"ReportCell" | 23 | +#define SALES_ELEMENTS @"20€ Notes",@"10€ Notes",@"5€ Notes",@"2€ Coins",@"1€ Coins",@"50c Coins",@"Channel",@"Product Code",@"Nominal Price",@"Discounted Price",@"1€ Change",@"50c Change",@"20€ Notes",@"10€ Notes",@"5€ Notes",@"2€ Coins",@"1€ Coins",@"50c Coins",@"Channel",@"Product Code",@"Nominal Price",@"Discounted Price",@"1€ Change",@"50c Change",@"20€ Notes",@"10€ Notes",@"5€ Notes",@"2€ Coins",@"1€ Coins",@"50c Coins",@"Channel",@"Product Code",@"Nominal Price",@"Discounted Price",@"1€ Change",@"50c Change" |
24 | +#define SALES_CELLS_PER_SECTION num(12),num(12),num(12) | ||
25 | +#define SALES_HEADERS @"14/06/2014",@"25/06/2014",@"05/07/2014" | ||
24 | 26 | ||
25 | -#define NUM_CHANNELS 8 | 27 | +#define CONFIGURATION_ELEMENTS @"Update Date & Time",@"Update product price",@"Update product name" |
28 | +#define CONFIGURATION_CELLS_PER_SECTION num(3) | ||
29 | +#define CONFIGURATION_HEADERS nil | ||
30 | + | ||
31 | + | ||
32 | +#define CELL_IDENTIFIERS @"MenuCell",@"MaintenanceCell",@"SalesCell",@"ConfigCell",@"ReportCell" | ||
26 | 33 | ||
27 | enum { | 34 | enum { |
28 | MENU = 0, | 35 | MENU = 0, |
29 | MAINTENANCE, | 36 | MAINTENANCE, |
37 | + SALES, | ||
30 | BASIC_CONFIGURATION, | 38 | BASIC_CONFIGURATION, |
31 | REPORT, | 39 | REPORT, |
32 | } navigationLevel; | 40 | } navigationLevel; |
DUREX tests/MenuTableViewController.m
@@ -22,6 +22,14 @@ | @@ -22,6 +22,14 @@ | ||
22 | @property (nonatomic,strong) const NSArray *maintenanceStructure; | 22 | @property (nonatomic,strong) const NSArray *maintenanceStructure; |
23 | @property (nonatomic,strong) const NSArray *maintenanceHeaders; | 23 | @property (nonatomic,strong) const NSArray *maintenanceHeaders; |
24 | 24 | ||
25 | +@property (nonatomic,strong) const NSArray *salesElements; | ||
26 | +@property (nonatomic,strong) const NSArray *salesStructure; | ||
27 | +@property (nonatomic,strong) const NSArray *salesHeaders; | ||
28 | + | ||
29 | +@property (nonatomic,strong) const NSArray *configElements; | ||
30 | +@property (nonatomic,strong) const NSArray *configStructure; | ||
31 | +@property (nonatomic,strong) const NSArray *configHeaders; | ||
32 | + | ||
25 | @property (nonatomic,strong) const NSArray *cellIdentifiers; | 33 | @property (nonatomic,strong) const NSArray *cellIdentifiers; |
26 | 34 | ||
27 | @property (nonatomic,strong) CommunicationProtocol* protocol; | 35 | @property (nonatomic,strong) CommunicationProtocol* protocol; |
@@ -68,6 +76,28 @@ | @@ -68,6 +76,28 @@ | ||
68 | { | 76 | { |
69 | [self setMaintenanceHeaders:nil]; | 77 | [self setMaintenanceHeaders:nil]; |
70 | } | 78 | } |
79 | + | ||
80 | + [self setSalesElements:[[NSArray alloc] initWithObjects:SALES_ELEMENTS, nil]]; | ||
81 | + [self setSalesStructure:[[NSArray alloc] initWithObjects:SALES_CELLS_PER_SECTION, nil]]; | ||
82 | + if([[self salesStructure] count] > 1) | ||
83 | + { | ||
84 | + [self setSalesHeaders:[[NSArray alloc] initWithObjects:SALES_HEADERS, nil]]; | ||
85 | + } | ||
86 | + else | ||
87 | + { | ||
88 | + [self setSalesHeaders:nil]; | ||
89 | + } | ||
90 | + | ||
91 | + [self setConfigElements:[[NSArray alloc] initWithObjects:CONFIGURATION_ELEMENTS, nil]]; | ||
92 | + [self setConfigStructure:[[NSArray alloc] initWithObjects:CONFIGURATION_CELLS_PER_SECTION, nil]]; | ||
93 | + if([[self configStructure] count] > 1) | ||
94 | + { | ||
95 | + [self setConfigHeaders:[[NSArray alloc] initWithObjects:CONFIGURATION_HEADERS, nil]]; | ||
96 | + } | ||
97 | + else | ||
98 | + { | ||
99 | + [self setConfigHeaders:nil]; | ||
100 | + } | ||
71 | 101 | ||
72 | [self setCellIdentifiers:[[NSArray alloc] initWithObjects:CELL_IDENTIFIERS, nil]]; | 102 | [self setCellIdentifiers:[[NSArray alloc] initWithObjects:CELL_IDENTIFIERS, nil]]; |
73 | } | 103 | } |
@@ -96,6 +126,20 @@ | @@ -96,6 +126,20 @@ | ||
96 | [self setCurrentHeaders:[self maintenanceHeaders]]; | 126 | [self setCurrentHeaders:[self maintenanceHeaders]]; |
97 | 127 | ||
98 | } | 128 | } |
129 | + else if([self currentNavLevel] == SALES) | ||
130 | + { | ||
131 | + [[self navigationItem] setTitle:NSLocalizedString(@"Sales log", nil)]; | ||
132 | + [self setCurrentElements:[self salesElements]]; | ||
133 | + [self setCurrentStructure:[self salesStructure]]; | ||
134 | + [self setCurrentHeaders:[self salesHeaders]]; | ||
135 | + } | ||
136 | + else if([self currentNavLevel] == BASIC_CONFIGURATION) | ||
137 | + { | ||
138 | + [[self navigationItem] setTitle:NSLocalizedString(@"Basic Configuration", nil)]; | ||
139 | + [self setCurrentElements:[self configElements]]; | ||
140 | + [self setCurrentStructure:[self configStructure]]; | ||
141 | + [self setCurrentHeaders:[self configHeaders]]; | ||
142 | + } | ||
99 | //AND SO ON... | 143 | //AND SO ON... |
100 | [[self tableView] reloadData]; | 144 | [[self tableView] reloadData]; |
101 | NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:[self tableView]]); | 145 | NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:[self tableView]]); |
@@ -207,13 +251,22 @@ | @@ -207,13 +251,22 @@ | ||
207 | NSLog(@"[MenuTableViewController.m]: Section: %d Row: %d",[indexPath section],[indexPath row]); | 251 | NSLog(@"[MenuTableViewController.m]: Section: %d Row: %d",[indexPath section],[indexPath row]); |
208 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; | 252 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; |
209 | NSString *cellName = [[[[self tableView] cellForRowAtIndexPath:indexPath]textLabel]text]; | 253 | NSString *cellName = [[[[self tableView] cellForRowAtIndexPath:indexPath]textLabel]text]; |
210 | - if([cellName isEqualToString:NSLocalizedString(@"Maintenance", nil)]) | 254 | + if([cellName isEqualToString:NSLocalizedString(@"Maintenance", nil)] && [self currentNavLevel] == MENU) |
211 | { | 255 | { |
212 | NSLog(@"[MenuTableViewController.m]: Changing to navLevel: MAINTENANCE"); | 256 | NSLog(@"[MenuTableViewController.m]: Changing to navLevel: MAINTENANCE"); |
213 | [self changeNavLevel:MAINTENANCE:TRUE]; | 257 | [self changeNavLevel:MAINTENANCE:TRUE]; |
214 | } | 258 | } |
259 | + else if([cellName isEqualToString:NSLocalizedString(@"Sales log", nil)] && [self currentNavLevel] == MAINTENANCE) | ||
260 | + { | ||
261 | + NSLog(@"[MenuTableViewController.m]: Changing to navLevel: SALES"); | ||
262 | + [self changeNavLevel:SALES:TRUE]; | ||
263 | + } | ||
264 | + else if([cellName isEqualToString:NSLocalizedString(@"Basic Configuration", nil)] && [self currentNavLevel] == MENU) | ||
265 | + { | ||
266 | + NSLog(@"[MenuTableViewController.m]: Changing to navLevel: BASIC_CONFIGURATION"); | ||
267 | + [self changeNavLevel:BASIC_CONFIGURATION:TRUE]; | ||
268 | + } | ||
215 | 269 | ||
216 | - | ||
217 | } | 270 | } |
218 | 271 | ||
219 | #pragma mark - Table view data source | 272 | #pragma mark - Table view data source |
@@ -273,6 +326,10 @@ | @@ -273,6 +326,10 @@ | ||
273 | 326 | ||
274 | } | 327 | } |
275 | } | 328 | } |
329 | + else if([self currentNavLevel] == SALES) | ||
330 | + { | ||
331 | + | ||
332 | + } | ||
276 | return cell; | 333 | return cell; |
277 | } | 334 | } |
278 | 335 |
DUREX tests/Stack.m
@@ -27,14 +27,17 @@ | @@ -27,14 +27,17 @@ | ||
27 | - (void) push: (id) element | 27 | - (void) push: (id) element |
28 | { | 28 | { |
29 | [[self dataArray] addObject:element]; | 29 | [[self dataArray] addObject:element]; |
30 | + [self setLastPosition: [self lastPosition] + 1]; | ||
30 | } | 31 | } |
31 | - (id) pop | 32 | - (id) pop |
32 | { | 33 | { |
33 | id element; | 34 | id element; |
35 | + [self setLastPosition: [self lastPosition] - 1]; | ||
34 | element = [[self dataArray] objectAtIndex:[self lastPosition]]; | 36 | element = [[self dataArray] objectAtIndex:[self lastPosition]]; |
35 | [[self dataArray] removeLastObject]; | 37 | [[self dataArray] removeLastObject]; |
36 | return element; | 38 | return element; |
37 | } | 39 | } |
40 | + | ||
38 | - (NSInteger) count | 41 | - (NSInteger) count |
39 | { | 42 | { |
40 | return [[self dataArray] count]; | 43 | return [[self dataArray] count]; |
DUREX tests/en.lproj/Localizable.strings
@@ -38,4 +38,19 @@ | @@ -38,4 +38,19 @@ | ||
38 | "50c Coin spin" = "50c Coin spin"; | 38 | "50c Coin spin" = "50c Coin spin"; |
39 | "Sales log" = "Sales log"; | 39 | "Sales log" = "Sales log"; |
40 | "Incident report" = "Incident report"; | 40 | "Incident report" = "Incident report"; |
41 | -"Send report" = "Send report"; | ||
42 | \ No newline at end of file | 41 | \ No newline at end of file |
42 | +"Send report" = "Send report"; | ||
43 | +"20€ Notes" = "20€ Notes"; | ||
44 | +"10€ Notes" = "10€ Notes"; | ||
45 | +"5€ Notes" = "5€ Notes"; | ||
46 | +"2€ Coins" = "2€ Coins"; | ||
47 | +"1€ Coins" = "1€ Coins"; | ||
48 | +"50c Coins" = "50c Coins"; | ||
49 | +"Channel" = "Channel"; | ||
50 | +"Product Code" = "Product Code"; | ||
51 | +"Nominal Price" = "Nominal Price"; | ||
52 | +"Discounted Price" = "Discounted Price"; | ||
53 | +"1€ Change" = "1€ Change"; | ||
54 | +"50c Change" = "50c Change"; | ||
55 | +"Update Date & Time" = "Update Date & Time"; | ||
56 | +"Update product price" = "Update product price"; | ||
57 | +"Update product name" = "Update product name"; | ||
43 | \ No newline at end of file | 58 | \ No newline at end of file |
DUREX tests/es.lproj/Localizable.strings
@@ -39,3 +39,18 @@ | @@ -39,3 +39,18 @@ | ||
39 | "Sales log" = "Registro de ventas"; | 39 | "Sales log" = "Registro de ventas"; |
40 | "Incident report" = "Registro de incidencias"; | 40 | "Incident report" = "Registro de incidencias"; |
41 | "Send report" = "Mandar informe"; | 41 | "Send report" = "Mandar informe"; |
42 | +"20€ Notes" = "Billetes de 20€"; | ||
43 | +"10€ Notes" = "Billetes de 10€"; | ||
44 | +"5€ Notes" = "Billetes de 5€"; | ||
45 | +"2€ Coins" = "Monedas de 2€"; | ||
46 | +"1€ Coins" = "Monedas de 1€"; | ||
47 | +"50c Coins" = "Monedas de 50c"; | ||
48 | +"Channel" = "Canal"; | ||
49 | +"Product Code" = "Código del producto"; | ||
50 | +"Nominal Price" = "Precio Nominal"; | ||
51 | +"Discounted Price" = "Precio con descuento"; | ||
52 | +"1€ Change" = "Cambio de 1€"; | ||
53 | +"50c Change" = "Cambio de 50c"; | ||
54 | +"Update Date & Time" = "Actualizar fecha y hora"; | ||
55 | +"Update product price" = "Actualizar precio del producto"; | ||
56 | +"Update product name" = "Actualizar nombre del producto"; | ||
42 | \ No newline at end of file | 57 | \ No newline at end of file |
TODO
1 | --Implement sensors options | ||
2 | --Make changes to DUREX Vendor Control Project | ||
3 | --Implement Navigation Controller | ||
4 | --Implement table inside UITableViewCell | 1 | +- Incident class |
2 | +- Sale class | ||
3 | +- Sale parser | ||
4 | +- Incident parser | ||
5 | +- Popup view | ||
6 | +- A2 command | ||
7 | +- A3 command | ||
8 | +- Redefine A4 command | ||
9 | +- A4 command |