Version 1.2 - New practice mode added, bug fixes

This commit is contained in:
Abel Fokkinga 2013-01-10 10:17:11 -02:00
parent 357b7299e8
commit 398cc51044
15 changed files with 609 additions and 75 deletions

View File

@ -56,6 +56,8 @@
B581EA03168E3037005D9936 /* check_box.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA02168E3037005D9936 /* check_box.png */; };
B581EA05168E3099005D9936 /* check_box-1.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA04168E3099005D9936 /* check_box-1.png */; };
B581EA08169B351A005D9936 /* TestResult+Create.m in Sources */ = {isa = PBXBuildFile; fileRef = B581EA07169B351A005D9936 /* TestResult+Create.m */; };
B581EA0E169DA304005D9936 /* EspagramTypingTestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B581EA0D169DA304005D9936 /* EspagramTypingTestViewController.m */; };
B581EA10169DD28F005D9936 /* tabbar_typing.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA0F169DD28F005D9936 /* tabbar_typing.png */; };
B5A8BB191651A64300C1CC00 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A8BB181651A3E700C1CC00 /* CoreDataTableViewController.m */; };
B5B3F92D165972EF00E26A40 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B5B3F92F165972EF00E26A40 /* Localizable.strings */; };
B5B3F93516602C7C00E26A40 /* Verb.m in Sources */ = {isa = PBXBuildFile; fileRef = B5B3F93416602C7B00E26A40 /* Verb.m */; };
@ -144,6 +146,9 @@
B581EA04168E3099005D9936 /* check_box-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_box-1.png"; sourceTree = "<group>"; };
B581EA06169B351A005D9936 /* TestResult+Create.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TestResult+Create.h"; sourceTree = "<group>"; };
B581EA07169B351A005D9936 /* TestResult+Create.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "TestResult+Create.m"; sourceTree = "<group>"; };
B581EA0C169DA303005D9936 /* EspagramTypingTestViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EspagramTypingTestViewController.h; sourceTree = "<group>"; };
B581EA0D169DA304005D9936 /* EspagramTypingTestViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EspagramTypingTestViewController.m; sourceTree = "<group>"; };
B581EA0F169DD28F005D9936 /* tabbar_typing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabbar_typing.png; sourceTree = "<group>"; };
B58F57661635D27E00CED51B /* Conjugator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Conjugator.h; sourceTree = "<group>"; };
B58F576D16387BE600CED51B /* NSMutableArray_Shuffling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NSMutableArray_Shuffling.h; path = Espagram/NSMutableArray_Shuffling.h; sourceTree = "<group>"; };
B5A8BB171651A3E700C1CC00 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = "<group>"; };
@ -225,6 +230,8 @@
B5A8BB181651A3E700C1CC00 /* CoreDataTableViewController.m */,
B506EC7115EBF67500566A27 /* EspagramAppDelegate.h */,
B506EC7415EBF67500566A27 /* MainStoryboard.storyboard */,
B581EA0C169DA303005D9936 /* EspagramTypingTestViewController.h */,
B581EA0D169DA304005D9936 /* EspagramTypingTestViewController.m */,
B56DE15E165426B800D85DD3 /* EspagramAddWordToLessonViewController.h */,
B56DE15F165426B800D85DD3 /* EspagramAddWordToLessonViewController.m */,
B56DE15A165412DF00D85DD3 /* EspagramWordsInLessonViewController.h */,
@ -285,6 +292,7 @@
B581E9D2168DC759005D9936 /* Images */ = {
isa = PBXGroup;
children = (
B581EA0F169DD28F005D9936 /* tabbar_typing.png */,
B581EA04168E3099005D9936 /* check_box-1.png */,
B581EA02168E3037005D9936 /* check_box.png */,
B581EA00168E21C2005D9936 /* tabbar_list.png */,
@ -394,6 +402,7 @@
B581EA01168E21C2005D9936 /* tabbar_list.png in Resources */,
B581EA03168E3037005D9936 /* check_box.png in Resources */,
B581EA05168E3099005D9936 /* check_box-1.png in Resources */,
B581EA10169DD28F005D9936 /* tabbar_typing.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -427,6 +436,7 @@
B5B3F93816602C7D00E26A40 /* TestResult.m in Sources */,
B5B3F93B16602C7E00E26A40 /* Lesson.m in Sources */,
B581EA08169B351A005D9936 /* TestResult+Create.m in Sources */,
B581EA0E169DA304005D9936 /* EspagramTypingTestViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -162,11 +162,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272741.598802"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "127"
endingLineNumber = "127"
startingLineNumber = "123"
endingLineNumber = "123"
landmarkName = "-nextVerb"
landmarkType = "5">
</FileBreakpoint>
@ -188,11 +188,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272885.813565"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "169"
endingLineNumber = "169"
startingLineNumber = "165"
endingLineNumber = "165"
landmarkName = "-nextVerb"
landmarkType = "5">
</FileBreakpoint>
@ -201,11 +201,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272741.598802"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "59"
endingLineNumber = "59"
startingLineNumber = "55"
endingLineNumber = "55"
landmarkName = "-answered:"
landmarkType = "5">
</FileBreakpoint>
@ -214,11 +214,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272741.598802"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "108"
endingLineNumber = "108"
startingLineNumber = "104"
endingLineNumber = "104"
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
landmarkType = "5">
</FileBreakpoint>
@ -227,11 +227,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272741.598802"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "92"
endingLineNumber = "92"
startingLineNumber = "88"
endingLineNumber = "88"
landmarkName = "-setAnswerButton:withAnswer:andCorrect:"
landmarkType = "5">
</FileBreakpoint>
@ -240,11 +240,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272741.598802"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "102"
endingLineNumber = "102"
startingLineNumber = "98"
endingLineNumber = "98"
landmarkName = "-setUIButtonTitle:withText:inColour:forState:"
landmarkType = "5">
</FileBreakpoint>
@ -305,11 +305,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272885.813565"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "155"
endingLineNumber = "155"
startingLineNumber = "151"
endingLineNumber = "151"
landmarkName = "-nextVerb"
landmarkType = "5">
</FileBreakpoint>
@ -864,11 +864,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379272885.813565"
timestampString = "379432647.778233"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "130"
endingLineNumber = "130"
startingLineNumber = "126"
endingLineNumber = "126"
landmarkName = "-nextVerb"
landmarkType = "5">
</FileBreakpoint>
@ -885,5 +885,18 @@
landmarkName = "+addTestableVerbResult:withTestType:"
landmarkType = "5">
</FileBreakpoint>
<FileBreakpoint
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Espagram/EspagramTestViewController.m"
timestampString = "379440037.809619"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "186"
endingLineNumber = "186"
landmarkName = "-viewWillAppear:"
landmarkType = "5">
</FileBreakpoint>
</FileBreakpoints>
</Bucket>

View File

@ -37,11 +37,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
<string>1.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.1</string>
<string>1.2</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>LSRequiresIPhoneOS</key>

View File

@ -276,13 +276,19 @@ didSelectViewController:(UIViewController *)viewController {
[tabItem setEnabled:false];
}
}
NSLog(@"Count viewControllers: %d", [self.tabBarController viewControllers].count);
for ( id vc in [self.tabBarController viewControllers] ) {
if ( [vc respondsToSelector:@selector(setLesson:)]) {
[vc setLesson:self.lesson];
}
if ( [vc respondsToSelector:@selector(setLesson:)]) {
[vc setLesson:self.lesson];
}
UIViewController *tvc= (UIViewController *)vc;
NSLog(@"title = %@",tvc.title);
if ( [tvc.title isEqualToString:@"Verb"])
tvc.title = NSLocalizedString(@"Verbs List",@"List of verbs");
else if ( [tvc.title isEqualToString:@"Multiple Choice"])
tvc.title = NSLocalizedString(@"Multiple Choice",@"Multiple Choice test");
else if ( [tvc.title isEqualToString:@"Typing Test"])
tvc.title = NSLocalizedString(@"Typing", @"Typing test");
}
}

View File

@ -46,10 +46,6 @@
return _testSet;
};
- (IBAction)EditingDidEnd:(UITextField *)sender {
[self resignFirstResponder];
}
- (IBAction)answered:(UIButton *)sender {
@ -187,11 +183,12 @@
{
[super viewWillAppear:animated];
self.title = NSLocalizedString(@"Multiple Choice",@"Multiple Choice test");
self.nextButton.titleLabel.text = NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb");
[self.nextButton setTitle:NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb") forState:UIControlStateNormal];
self.title = NSLocalizedString(@"Multiple Choice",@"Multiple Choice test");
if ( [self.testSet count] > 0) {
[self nextVerb];

View File

@ -0,0 +1,34 @@
//
// EspagramTypingTestViewController.h
// Espagram
//
// Created by Abel Fokkinga on 1/9/13.
// Copyright (c) 2013 Abel Fokkinga. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "Conjugator.h"
#import "EspagramLessonTesting.h"
#import "EspagramConjugationTableViewController.h"
#import "Lesson+Conjugator.h"
#import "Lesson+Test.h"
#import "Verb.h"
@interface EspagramTypingTestViewController : UIViewController
<EspagramLessonTesting>
@property (weak, nonatomic) IBOutlet UILabel *testedVerbLabel;
@property (weak, nonatomic) IBOutlet UILabel *verbMeaningLable;
@property (weak, nonatomic) IBOutlet UILabel *verbPersonLabel;
@property (weak, nonatomic) IBOutlet UIButton *nextButton;
@property (weak, nonatomic) IBOutlet UIButton *checkAnswerButton;
@property (weak, nonatomic) IBOutlet UIButton *showAnswerButton;
@property (weak, nonatomic) IBOutlet UITextField *verbAnswerTextField;
@end

View File

@ -0,0 +1,204 @@
//
// EspagramTypingTestViewController.m
// Espagram
//
// Created by Abel Fokkinga on 1/9/13.
// Copyright (c) 2013 Abel Fokkinga. All rights reserved.
//
#import "EspagramTypingTestViewController.h"
#import "TestResult+Create.h"
#import "NSMutableArray_Shuffling.h"
@interface EspagramTypingTestViewController ()
@property (nonatomic, strong) NSMutableArray * testSet;
@property (nonatomic, strong) TestableVerb * currentVerb;
@property (nonatomic) int correctAnswersInCurrentSet;
@property (nonatomic) int wrongAnswersInCurrentSet;
@end
@implementation EspagramTypingTestViewController
@synthesize lesson = _lesson;
@synthesize testedVerbLabel = _testedVerbLabel;
@synthesize verbMeaningLable = _testedVerbLable;
@synthesize verbPersonLabel = _verbPersonLabel;
@synthesize verbAnswerTextField = _verbAnswerTextField;
@synthesize nextButton = _nextButton;
@synthesize showAnswerButton = _showAnswerButton;
@synthesize checkAnswerButton = _checkAnswerButton;
@synthesize testSet = _testSet;
@synthesize currentVerb = _currentVerb;
@synthesize correctAnswersInCurrentSet = _correctAnswersInCurrentSet;
@synthesize wrongAnswersInCurrentSet = _wrongAnswersInCurrentSet;
- (NSMutableArray *)testSet{
// Check if there are any verbs in the set
if ( _testSet.count == 0) {
_testSet = [self.lesson testableVerbs];
self.correctAnswersInCurrentSet = 0;
self.wrongAnswersInCurrentSet = 0;
}
return _testSet;
};
- (void) setUIButtonTitle:(UIButton *)button withText:(NSString *) titleString inColour:(UIColor *) colour forState:(UIControlState)controlState
{
NSAttributedString *title;
title = [[NSAttributedString alloc] initWithString:titleString attributes:@{ NSFontAttributeName :
[UIFont fontWithName:@"Noteworthy-Bold" size:16],
// NSUnderlineStyleAttributeName : @1,
NSStrokeColorAttributeName : colour}];
[button setAttributedTitle:title forState:controlState];
}
- (void) setUILabelTitle:(UILabel *)label withText:(NSString *) titleString inColour:(UIColor *) colour andSize:(int) fontSize;
{
NSAttributedString *title;
title = [[NSAttributedString alloc] initWithString:titleString attributes:@{ NSFontAttributeName :
[UIFont fontWithName:@"Noteworthy-Bold" size:fontSize],
// NSUnderlineStyleAttributeName : @1,
NSStrokeColorAttributeName : colour
}];
label.attributedText = title;
}
- (void) checkAnswer:(NSString *) answer {
NSString * correctAnswer = [self.lesson.getConjugationEngine conjugateVerb:self.currentVerb.verb.verb inPerson:self.currentVerb.person andTense:[self.lesson getTenseAsTense]];
if ( [answer isEqualToString:correctAnswer]) {
[self setUILabelTitle:self.verbPersonLabel withText:[[[[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] stringByAppendingString:@" "] stringByAppendingString:correctAnswer] stringByAppendingString:@" \u2705"] inColour:[UIColor greenColor] andSize:16];
} else {
[self setUILabelTitle:self.verbPersonLabel withText:[[[[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] stringByAppendingString:@" "] stringByAppendingString:answer] stringByAppendingString:@" \u274C"] inColour:[UIColor redColor] andSize:16];
// Set current test verb to failed
self.currentVerb.failed = true;
}
}
- (void) nextVerb {
// Add test result
if ( self.currentVerb) {
[TestResult addTestableVerbResult:self.currentVerb withTestType:@"Typing"];
}
if ( self.currentVerb && self.currentVerb.failed) {
// Last test failed.. so we won't remove it
// instead we shuffle the test set.
[self.testSet shuffle];
// increase wrongly answered counter
self.wrongAnswersInCurrentSet += 1;
} {
// Last verb answered correctly
[self.testSet lastObject];
// increase wrongly answered counter
self.correctAnswersInCurrentSet += 1;
}
self.currentVerb = self.testSet.lastObject;
if ( self.currentVerb) {
NSLog(@"Testing verb %@ in %@", self.currentVerb.verb.verb, self.currentVerb.person);
NSString * correctAnswer = [self.lesson.getConjugationEngine conjugateVerb:self.currentVerb.verb.verb inPerson:self.currentVerb.person andTense:[self.lesson getTenseAsTense]];
NSLog(@"Correct answer: %@", correctAnswer);
// Set display label to verb to test
[self setUILabelTitle:self.testedVerbLabel withText:self.currentVerb.verb.verb inColour:[UIColor blackColor] andSize:30];
[self setUILabelTitle:self.verbMeaningLable withText:self.currentVerb.verb.meaning inColour:[UIColor blackColor] andSize:12];
[self setUILabelTitle:self.verbPersonLabel withText:[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] inColour:[UIColor blackColor] andSize:16];
} else {
NSLog(@"Que horror, no lesson!");
}
}
- (IBAction)checkAnswerButtonPressed {
[self.verbAnswerTextField resignFirstResponder];
[self checkAnswer:self.verbAnswerTextField.text];
}
- (IBAction)showCorrectAnswerButtonPressed:(id)sender {
[self.verbAnswerTextField resignFirstResponder];
NSString * correctAnswer = [self.lesson.getConjugationEngine conjugateVerb:self.currentVerb.verb.verb inPerson:self.currentVerb.person andTense:[self.lesson getTenseAsTense]];
[self setUILabelTitle:self.verbPersonLabel withText:[[[[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] stringByAppendingString:@" "] stringByAppendingString:correctAnswer] stringByAppendingString:@" \u2705"] inColour:[UIColor greenColor] andSize:16];
}
- (IBAction)nextButtonPressed:(id)sender {
[self.testSet removeLastObject];
[self nextVerb];
self.verbAnswerTextField.text = @"";
}
- (IBAction)answerEntered:(id)sender {
[self resignFirstResponder];
[self checkAnswer:self.verbAnswerTextField.text];
}
- (IBAction)addAccentedCharacter:(UIButton *)sender {
self.verbAnswerTextField.text = [self.verbAnswerTextField.text stringByAppendingString:sender.titleLabel.text];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.title = NSLocalizedString(@"Typing",@"Typing Test");
self.nextButton.titleLabel.text = NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb");
[self.nextButton setTitle:NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb") forState:UIControlStateNormal];
self.checkAnswerButton.titleLabel.text = NSLocalizedString(@"Check", @"Check answer");
[self.checkAnswerButton setTitle:NSLocalizedString(@"Check", @"Check answer button") forState:UIControlStateNormal];
self.showAnswerButton.titleLabel.text = NSLocalizedString(@"Answer", @"Show correct answer button");
[self.showAnswerButton setTitle:NSLocalizedString(@"Answer", @"Show correct answer button") forState:UIControlStateNormal];
if ( [self.testSet count] > 0) {
[self nextVerb];
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end

View File

@ -380,7 +380,6 @@
- (NSString *) getExit:(NSString *) verb {
NSLog(@"getExit start");
if ( verb.length > 2 )
return [verb substringFromIndex:[verb length] - 2];
else
@ -389,12 +388,6 @@
- (NSString *) getStem:(NSString *) verb {
NSLog(@"getStem start");
// if ( [[self getExit:verb] isEqualToString:@"ír"] )
// return [[verb substringToIndex:[verb length] -2] stringByAppendingString:@"i"];
NSLog(@"getStem end");
return [verb substringToIndex:[verb length] -2];
}
@ -403,8 +396,6 @@
- (NSString *) getSimplePresentStemVerb:(NSString *) verb inPerson:(NSString *) person {
NSString * verbStem = [self getStem:verb];
NSString * verbExit = [self getExit:verb];
NSLog(@"getSimplePresentStemVerb start.irregular");
// Bit irregular
@ -622,10 +613,6 @@
NSString * simplePresentYo = [self conjugateSimplePresentVerb:verb inPerson:@"FIRST_PERSON_SINGULAR"];
NSString * simplePresentYoStem = [simplePresentYo substringToIndex:simplePresentYo.length -1];
NSLog(@"person %@", person);
if ( [person isEqualToString:@"FIRST_PERSON_SINGULAR"] ||
[person isEqualToString:@"THIRD_PERSON_SINGULAR"] ) {
@ -1724,7 +1711,6 @@
return @"Invalid tense";
if ( reflexive ) {
NSLog(@"%@",[[[[self reflexivePersons] objectForKey:person] stringByAppendingString:@" "] stringByAppendingString:conjugated]);
return [[[[self reflexivePersons] objectForKey:person] stringByAppendingString:@" "] stringByAppendingString:conjugated];
}
else {
@ -1753,7 +1739,6 @@
id lastObject = nil;
if ( a && a.count > 0 ) {
lastObject = [a lastObject];
NSLog(@"Popping: %@", lastObject);
[a removeLastObject];
}
return lastObject;
@ -3510,8 +3495,6 @@
BOOL reflexive = FALSE;
NSLog(@"Getting test conjugation for %@ in person %@ and %@",verb,person,tense);
if ( [[self getExit:verb] isEqualToString:@"se"] ) {
reflexive = TRUE;
// Getting the stem will remove the last 2 characters
@ -3527,9 +3510,6 @@
} else {
correctAnswer = [self conjugateVerb:verb inPerson:person andTense:tense];
}
NSLog(@"Correct answer: %@", correctAnswer);
if ( [tense.tense isEqualToString:@"SIMPLE_PRESENT"])
wrongAnswers = [self generateFalseConjugationsSimplePresentVerb:verb inPerson:person withCorrectAnswer:correctAnswer];

View File

@ -621,7 +621,7 @@
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<color key="backgroundColor" red="0.92037779090000005" green="0.84682043169999999" blue="0.62681043489999999" alpha="1" colorSpace="calibratedRGB"/>
</view>
<connections>
<outlet property="addButton" destination="VbD-YA-2wz" id="l3o-Gh-MEd"/>
@ -637,12 +637,12 @@
</objects>
<point key="canvasLocation" x="979" y="-1015"/>
</scene>
<!--Espagram Test View Controller - Conjugate-->
<!--Espagram Test View Controller - Multiple Choice-->
<scene sceneID="lbJ-Av-XmM">
<objects>
<viewController title="Conjugate" id="o8A-Pj-xMi" customClass="EspagramTestViewController" sceneMemberID="viewController">
<viewController title="Multiple Choice" id="o8A-Pj-xMi" customClass="EspagramTestViewController" sceneMemberID="viewController">
<view key="view" contentMode="redraw" id="ee2-Vd-mbR">
<rect key="frame" x="0.0" y="64" width="320" height="416"/>
<rect key="frame" x="0.0" y="64" width="320" height="367"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="j9Z-GN-xos">
@ -660,7 +660,7 @@
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="GwC-Bf-HXP">
<rect key="frame" x="20" y="158" width="280" height="44"/>
<rect key="frame" x="20" y="109" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<state key="normal">
@ -679,7 +679,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="SQD-lH-VYW">
<rect key="frame" x="20" y="209" width="280" height="44"/>
<rect key="frame" x="20" y="160" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<state key="normal">
@ -697,7 +697,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="wjU-6t-8IW">
<rect key="frame" x="20" y="260" width="280" height="44"/>
<rect key="frame" x="20" y="211" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<state key="normal">
@ -715,7 +715,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="oF7-P6-yi9">
<rect key="frame" x="20" y="311" width="280" height="44"/>
<rect key="frame" x="20" y="262" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<state key="normal">
@ -733,7 +733,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="9jU-k2-QRJ">
<rect key="frame" x="20" y="362" width="280" height="44"/>
<rect key="frame" x="20" y="313" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<state key="normal" title="Next">
@ -748,7 +748,7 @@
</connections>
</button>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="vIa-Z9-dQK">
<rect key="frame" x="20" y="123" width="280" height="32"/>
<rect key="frame" x="20" y="74" width="280" height="32"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<attributedString key="attributedText">
<fragment content="Person">
@ -810,18 +810,19 @@
<connections>
<segue destination="x6z-xh-dlG" kind="relationship" relationship="viewControllers" id="WT2-Bb-XMi"/>
<segue destination="o8A-Pj-xMi" kind="relationship" relationship="viewControllers" id="h5C-pK-ZSX"/>
<segue destination="QXI-XP-mxq" kind="relationship" relationship="viewControllers" id="MYn-Ms-KzG"/>
</connections>
</tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="1zw-rA-Vsu" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="390" y="356"/>
</scene>
<!--Espagram Words In Lesson View Controller - Words-->
<!--Espagram Words In Lesson View Controller - Verbs List-->
<scene sceneID="DCT-R0-chn">
<objects>
<tableViewController id="x6z-xh-dlG" customClass="EspagramWordsInLessonViewController" sceneMemberID="viewController">
<tableViewController title="Verbs List" id="x6z-xh-dlG" customClass="EspagramWordsInLessonViewController" sceneMemberID="viewController">
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="Jll-Rf-A8B">
<rect key="frame" x="0.0" y="64" width="320" height="416"/>
<rect key="frame" x="0.0" y="64" width="320" height="367"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="0.92037779090000005" green="0.84682043169999999" blue="0.62681043489999999" alpha="1" colorSpace="calibratedRGB"/>
<prototypes>
@ -873,12 +874,212 @@
</objects>
<point key="canvasLocation" x="990" y="370"/>
</scene>
<!--Espagram Typing Test View Controller - Typing Test-->
<scene sceneID="Jj6-9s-p92">
<objects>
<viewController title="Typing Test" id="QXI-XP-mxq" customClass="EspagramTypingTestViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="jA1-KK-GEw">
<rect key="frame" x="0.0" y="64" width="320" height="367"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="e4v-C6-jif">
<rect key="frame" x="20" y="0.0" width="280" height="45"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<attributedString key="attributedText">
<fragment content="Verb">
<attributes>
<color key="NSColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
<font key="NSFont" size="21" name="Helvetica"/>
<paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural"/>
</attributes>
</fragment>
</attributedString>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="tHV-ju-jYt">
<rect key="frame" x="20" y="309" width="285" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<state key="normal" title="Next">
<color key="titleColor" red="0.1960784314" green="0.30980392159999998" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="nextButtonPressed:" destination="QXI-XP-mxq" eventType="touchUpInside" id="9Hl-Y1-rAN"/>
<action selector="nextButtonPressed:" destination="o8A-Pj-xMi" eventType="touchUpInside" id="Spc-yq-8Lb"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="b2m-pe-KH3">
<rect key="frame" x="195" y="132" width="110" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<state key="normal" title="Check">
<color key="titleColor" red="0.1960784314" green="0.30980392159999998" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="checkAnswerButtonPressed" destination="QXI-XP-mxq" eventType="touchUpInside" id="wqW-Mg-iUJ"/>
<action selector="nextButtonPressed:" destination="o8A-Pj-xMi" eventType="touchUpInside" id="Z4U-Kr-SXx"/>
</connections>
</button>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="hgw-RS-S9q">
<rect key="frame" x="20" y="69" width="280" height="32"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<attributedString key="attributedText">
<fragment content="Person">
<attributes>
<color key="NSColor" cocoaTouchSystemColor="darkTextColor"/>
<font key="NSFont" size="17" name="Helvetica"/>
<paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural"/>
</attributes>
</fragment>
</attributedString>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="h2R-hV-w1C">
<rect key="frame" x="20" y="46" width="280" height="21"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<attributedString key="attributedText">
<fragment content="Meaning">
<attributes>
<color key="NSColor" cocoaTouchSystemColor="darkTextColor"/>
<font key="NSFont" size="17" name="Helvetica"/>
<paragraphStyle key="NSParagraphStyle" alignment="justified" lineBreakMode="wordWrapping" baseWritingDirection="natural"/>
</attributes>
</fragment>
</attributedString>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" clearButtonMode="whileEditing" id="6Qr-xM-8Dq">
<rect key="frame" x="20" y="100" width="285" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocorrectionType="no"/>
<connections>
<action selector="answerEntered:" destination="QXI-XP-mxq" eventType="editingDidEndOnExit" id="Zw9-lR-EQf"/>
<action selector="answerEntered:" destination="QXI-XP-mxq" eventType="editingDidEnd" id="zn3-7M-8Ht"/>
</connections>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="oky-Ng-qk8">
<rect key="frame" x="20" y="258" width="285" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="Answer">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="showCorrectAnswerButtonPressed:" destination="QXI-XP-mxq" eventType="touchUpInside" id="zhp-FD-4ZE"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="vlo-We-Dae">
<rect key="frame" x="20" y="132" width="32" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="á">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="addAccentedCharacter:" destination="QXI-XP-mxq" eventType="touchUpInside" id="G6u-wF-rdL"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="M87-IO-AAZ">
<rect key="frame" x="88" y="132" width="34" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="í">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="addAccentedCharacter:" destination="QXI-XP-mxq" eventType="touchUpInside" id="t2R-31-bnN"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="D3s-Hp-TiS">
<rect key="frame" x="54" y="132" width="33" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="é">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="addAccentedCharacter:" destination="QXI-XP-mxq" eventType="touchUpInside" id="xAx-mF-LPk"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="T5t-49-RlT">
<rect key="frame" x="125" y="132" width="33" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="ó">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="addAccentedCharacter:" destination="QXI-XP-mxq" eventType="touchUpInside" id="Iyn-G3-awM"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="v7a-R9-jbh">
<rect key="frame" x="159" y="132" width="34" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="ú">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="addAccentedCharacter:" destination="QXI-XP-mxq" eventType="touchUpInside" id="XmZ-lR-J0G"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="0.92037779090000005" green="0.84682043169999999" blue="0.62681043489999999" alpha="1" colorSpace="calibratedRGB"/>
</view>
<tabBarItem key="tabBarItem" title="Typing Test" image="tabbar_typing.png" id="ncX-8i-u95"/>
<connections>
<outlet property="checkAnswerButton" destination="b2m-pe-KH3" id="0pW-Ve-813"/>
<outlet property="nextButton" destination="tHV-ju-jYt" id="8t1-fM-Vz5"/>
<outlet property="showAnswerButton" destination="oky-Ng-qk8" id="9md-2e-34Z"/>
<outlet property="testedVerbLabel" destination="e4v-C6-jif" id="TDn-20-RqB"/>
<outlet property="verbAnswerTextField" destination="6Qr-xM-8Dq" id="yLu-M9-ntI"/>
<outlet property="verbMeaningLable" destination="h2R-hV-w1C" id="oVD-2J-PhT"/>
<outlet property="verbPersonLabel" destination="hgw-RS-S9q" id="Bq2-qY-YHk"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="jKR-SC-63X" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="990" y="945"/>
</scene>
<!--Espagram Conjugation Table View Controller - Conjugation-->
<scene sceneID="Rhi-w3-Ide">
<objects>
<tableViewController id="1HP-4w-6pR" customClass="EspagramConjugationTableViewController" sceneMemberID="viewController">
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="center" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="DJ6-de-4Ph">
<rect key="frame" x="0.0" y="64" width="320" height="416"/>
<rect key="frame" x="0.0" y="64" width="320" height="367"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="0.92037779090000005" green="0.84682043169999999" blue="0.62681043489999999" alpha="1" colorSpace="calibratedRGB"/>
<prototypes>
@ -992,7 +1193,7 @@
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<color key="backgroundColor" red="0.92037779090000005" green="0.84682043169999999" blue="0.62681043489999999" alpha="1" colorSpace="calibratedRGB"/>
</view>
<connections>
<outlet property="addButton" destination="bSy-fb-UkH" id="aOs-7Y-DxQ"/>
@ -1030,15 +1231,95 @@
<image name="check_box-1.png" width="26" height="26"/>
<image name="espagram117.png" width="114" height="114"/>
<image name="tabbar_list.png" width="21" height="21"/>
<image name="tabbar_typing.png" width="21" height="21"/>
</resources>
<classes>
<class className="CoreDataTableViewController" superclassName="UITableViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/CoreDataTableViewController.h"/>
</class>
<class className="EspagramAddWordToLessonViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramAddWordToLessonViewController.h"/>
<relationships>
<relationship kind="outlet" name="addButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="cancelButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="meaningInputText" candidateClass="UITextField"/>
<relationship kind="outlet" name="meaningLabel" candidateClass="UILabel"/>
<relationship kind="outlet" name="wordInputText" candidateClass="UITextField"/>
<relationship kind="outlet" name="wordLabel" candidateClass="UILabel"/>
</relationships>
</class>
<class className="EspagramConjugationTableViewController" superclassName="UITableViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramConjugationTableViewController.h"/>
<relationships>
<relationship kind="outlet" name="verb" candidateClass="Verb"/>
</relationships>
</class>
<class className="EspagramLessonViewController" superclassName="CoreDataTableViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramLessonViewController.h"/>
</class>
<class className="EspagramMainTableViewController" superclassName="UITableViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramMainTableViewController.h"/>
<relationships>
<relationship kind="outlet" name="aboutButton" candidateClass="UIBarButtonItem"/>
</relationships>
</class>
<class className="EspagramNewLessonViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramNewLessonViewController.h"/>
<relationships>
<relationship kind="action" name="cancelButtonPressed:"/>
<relationship kind="action" name="editingDidEnd:"/>
<relationship kind="outlet" name="addButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="cancelButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="descriptionLabel" candidateClass="UILabel"/>
<relationship kind="outlet" name="lessonDescriptionTextInput" candidateClass="UITextField"/>
<relationship kind="outlet" name="lessonNameTextInput" candidateClass="UITextField"/>
<relationship kind="outlet" name="nameLabel" candidateClass="UILabel"/>
</relationships>
</class>
<class className="EspagramTestViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramTestViewController.h"/>
<relationships>
<relationship kind="outlet" name="answer1Button" candidateClass="UIButton"/>
<relationship kind="outlet" name="answer2Button" candidateClass="UIButton"/>
<relationship kind="outlet" name="answer3Button" candidateClass="UIButton"/>
<relationship kind="outlet" name="answer4Button" candidateClass="UIButton"/>
<relationship kind="outlet" name="nextButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="testedVerbLabel" candidateClass="UILabel"/>
<relationship kind="outlet" name="verbMeaningLable" candidateClass="UILabel"/>
<relationship kind="outlet" name="verbPersonLabel" candidateClass="UILabel"/>
</relationships>
</class>
<class className="EspagramTypingTestViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramTypingTestViewController.h"/>
<relationships>
<relationship kind="action" name="addAccentedCharacter:" candidateClass="UIButton"/>
<relationship kind="action" name="answerEntered:"/>
<relationship kind="action" name="nextButtonPressed:"/>
<relationship kind="action" name="showCorrectAnswerButtonPressed:"/>
<relationship kind="outlet" name="checkAnswerButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="nextButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="showAnswerButton" candidateClass="UIButton"/>
<relationship kind="outlet" name="testedVerbLabel" candidateClass="UILabel"/>
<relationship kind="outlet" name="verbAnswerTextField" candidateClass="UITextField"/>
<relationship kind="outlet" name="verbMeaningLable" candidateClass="UILabel"/>
<relationship kind="outlet" name="verbPersonLabel" candidateClass="UILabel"/>
</relationships>
</class>
<class className="EspagramWordsInLessonViewController" superclassName="CoreDataTableViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/EspagramWordsInLessonViewController.h"/>
</class>
<class className="Verb" superclassName="NSManagedObject">
<source key="sourceIdentifier" type="project" relativePath="./Classes/Verb.h"/>
</class>
</classes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
<simulatedScreenMetrics key="destination"/>
</simulatedMetricsContainer>
<inferredMetricsTieBreakers>
<segue reference="jbI-AC-euL"/>
<segue reference="RTW-Lo-aTj"/>
<segue reference="zv8-b4-h7u"/>
<segue reference="WT2-Bb-XMi"/>
<segue reference="h5C-pK-ZSX"/>
<segue reference="Jcv-m7-EIo"/>
</inferredMetricsTieBreakers>
</document>

View File

@ -40,11 +40,20 @@
"Next" = "Volgende";
/* Multiple Choice test */
"Multiple Choice" = "Multiple Choice";
"Multiple Choice" = "Meerkeuze";
/* List of verbs */
"List" = "Lijst";
/* Typing Test */
"Typing" = "Intypen";
/* Check answer button */
"Check" = "Controleer";
/* Show correct answer button */
"Answer" = "Antwoord?";
/* Simple present tense description */
"TENSE_SIMPLE_PRESENT" = "Tegenwoordige tijd";

BIN
Espagram/tabbar_typing.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B