Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 804 → Rev 805

/iKopter/trunk/Classes/InAppSettings/InAppSettingsPotiValueController.m
0,0 → 1,166
//
// InAppSettingsPotiValueController.m
// MK4PhoneNav
//
// Created by Frank Blumenberg on 05.05.10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
 
#import "InAppSettingsPotiValueController.h"
 
 
@implementation InAppSettingsPotiValueController
 
@synthesize setting;
@synthesize numberField;
@synthesize sliderLabel;
@synthesize potiSwitch;
@synthesize pickerData;
@synthesize potiPicker;
 
- (id) initWithSetting:(InAppSettingsSpecifier *)inputSetting {
if ((self = [super initWithNibName:@"InAppSettingsPotiValueController" bundle:nil])) {
self.setting=inputSetting;
NSArray *array = [[NSArray alloc] initWithObjects:
@"Poti1",
@"Poti2",
@"Poti3",
@"Poti4",
@"Poti5",
@"Poti6",
@"Poti7",
@"Poti8",
nil];
self.pickerData = array;
[array release];
}
return self;
}
 
 
- (void) viewDidLoad {
[super viewDidLoad];
self.title = [self.setting localizedTitle];
}
 
- (void)viewWillAppear:(BOOL)animated {
 
int value = [[setting getValue] intValue];
if (value<248) {
potiSwitch.on = NO;
numberField.alpha = 1.0f;
potiPicker.alpha = 0.0f;
numberField.text =[NSString stringWithFormat:@"%d",value];
}
else {
potiSwitch.on = YES;
numberField.alpha = 0.0f;
potiPicker.alpha = 1.0f;
numberField.text =@"0";
[potiPicker selectRow:255-value inComponent:0 animated:NO];
}
}
 
-(void) viewWillDisappear:(BOOL)animated
{
int value=0;
if(potiSwitch.on)
{
int row = [potiPicker selectedRowInComponent:0];
value = 255-row;
}
else
{
value = [numberField.text intValue];
}
 
[setting setValue:[NSNumber numberWithInt:value]];
}
 
- (void) dealloc {
[setting release];
[numberField release];
[sliderLabel release];
[potiSwitch release];
[pickerData release];
[potiPicker release];
[super dealloc];
}
 
- (id) getValue {
return nil;
}
 
- (void) setValue:(id)newValue {
}
 
- (IBAction)textFieldDoneEditing:(id)sender {
[sender resignFirstResponder];
}
 
- (IBAction)backgroundTap:(id)sender {
[numberField resignFirstResponder];
}
 
- (IBAction)toggleControls:(id)sender {
 
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
numberField.alpha = potiSwitch.on?0.0f:1.0f;
potiPicker.alpha = potiSwitch.on?1.0f:0.0f;
[UIView commitAnimations];
}
 
 
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
 
- (void)viewDidUnload {
self.numberField = nil;
self.sliderLabel = nil;
self.potiSwitch = nil;
self.pickerData = nil;
self.potiPicker = nil;
[super viewDidUnload];
}
 
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSMutableString* s = [textField.text mutableCopy];
[s replaceCharactersInRange:range withString:string];
 
int value = [s intValue];
[s release];
if (value <=245 ) {
return YES;
}
return NO;
}
 
#pragma mark -
#pragma mark Picker Data Source Methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [pickerData count];
}
#pragma mark Picker Delegate Methods
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [pickerData objectAtIndex:row];
}
 
@end